The normalization process looks at all public methods and calls the ones
which have a name starting with get and take no parameters. The result is a
map from property names (method name stripped of the get prefix and converted
to lower case) to property values. Property values are normalized through the
serializer.
The denormalization first looks at the constructor of the given class to see
if any of the parameters have the same name as one of the properties. The
constructor is then called with all parameters or an exception is thrown if
any required parameters were not present as properties. Then the denormalizer
walks through the given map of property names to property values to see if a
setter method exists for any of the properties. If a setter exists it is
called with the property value. No automatic denormalization of the value
takes place.