@Override
public Iterable<? extends ModelProperty> propertiesForDeserialization(ResolvedType resolvedType) {
List<ModelProperty> serializationCandidates = newArrayList();
DeserializationConfig serializationConfig = objectMapper.getDeserializationConfig();
BeanDescription beanDescription = serializationConfig.introspect(TypeFactory.defaultInstance()
.constructType(resolvedType.getErasedType()));
Map<String, BeanPropertyDefinition> propertyLookup = uniqueIndex(beanDescription.findProperties(),
BeanPropertyDefinitions.beanPropertyByInternalName());
for (ResolvedField childField : fieldProvider.in(resolvedType)) {
if (propertyLookup.containsKey(childField.getName())) {