code: public void apply(Object instance, Map<String, Property> properties, ContextualPropertyResolver resolver)
              throws Exception {
          if (property.isContextual() || property.isReference()) {
              applyContextual(instance, properties, resolver);
          } else {
              applyNonContextual(instance, properties, resolver);
          }
      }
docs: Takes the property from the {@code properties} map, converts it to the
  correct value and sets it to the {@code instance}'s property.