Improve JSON-Deserialization
For many message attributes we do not expect null values because we reject them in the constructor. Unfortunately, this sanitization is not done during deserialization. It is therefore very likely that if a client (intentionally) omits required attributes, there will be errors in the program code.
So we should also reject zero values during deserialization. Perhaps the following answer on SO describes a solution for us: https://stackoverflow.com/a/35988049/1074188