AnnotatedField af = en.getValue(); if (fixAccess) { af.fixAccess();
protected SettableBeanProperty constructSettableProperty(DeserializationConfig config, BasicBeanDescription beanDesc, String name, AnnotatedField field) throws JsonMappingException { // need to ensure method is callable (for non-public) if (config.isEnabled(DeserializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS)) { field.fixAccess(); } JavaType type = resolveType(config, beanDesc, field.getGenericType(), field); /* First: does the Method specify the deserializer to use? * If so, let's use it. */ JsonDeserializer<Object> propDeser = findDeserializerFromAnnotation(config, field); Field f = field.getAnnotated(); if (propDeser != null) { SettableBeanProperty prop = new SettableBeanProperty.FieldProperty(name, type, f); prop.setValueDeserializer(propDeser); return prop; } // Otherwise, method may specify more specific (sub-)class for // value (no need to check if explicit deser was specified): type = modifyTypeByAnnotation(config, field, type); return new SettableBeanProperty.FieldProperty(name, type, f); }