Sets all fields on this (with the compile-time class as context) to the values in the given Patch struct.
Explicitly calls value constructors. (@constructValue UDAs) This is already implicitly called by the default constructor and is probably not needed to be called manually.
Runs the defined @validator functions on fields, returns a list of failed fields.