This is where BeanDeserializerModifier interface (instance of which can be registered via module) comes in handy, since it can take the default (de)serializer, construct custom deserializer, and decide which one to call dynamically.
But you could also make your custom deserializer implement `ContextualDeserializer`, and when getting a call to `createContextual()`, fetch the default deserializer used for `EditionFiles` (from DeserializationContext), and hold a reference to it, so that you can dynamically choose which one to use.
-+ Tatu +-