Method called by BeanDeserializerFactory when it has collected
initial list of com.fasterxml.jackson.databind.introspect.BeanPropertyDefinitions, and done basic by-name
and by-type filtering, but before constructing builder or actual
property handlers; or arranging order.
The most common changes to make at this point are to completely remove
specified properties, or rename then: other modifications are easier
to make at later points.

Method called by BeanDeserializerFactory when it has collected
basic information such as tentative list of properties to deserialize.
Implementations may choose to modify state of builder (to affect deserializer being
built), or even completely replace it (if they want to build different kind of
deserializer). Typically changes mostly concern set of properties to deserialize.

Method called by BeanDeserializerFactory after constructing default
bean deserializer instance with properties collected and ordered earlier.
Implementations can modify or replace given deserializer and return deserializer
to use. Note that although initial deserializer being passed is of type
BeanDeserializer, modifiers may return deserializers of other types;
and this is why implementations must check for type before casting.