anchor.diff:  
   If this extractor was the single most-specific extractor for `StringProperty`, the `@Email` constraint above would automatically be applied to the wrapped string value.
   
  -In rare cases it may happen that a constraint should be applied to the wrapped value although an extractor exists. In this case the `ConstraintsApplyTo` annotation can be given on the element itself to prevent the unwrapping:
  +In rare cases it may happen that a constraint should be applied to the wrapped value although an extractor exists.
  +In this case the `ConstraintsApplyTo` annotation can be given on the element itself to prevent the unwrapping:
   
   [source,java]
   ----
  
positive.code: }
  ----
  
  When validating the `@NotNull` constraint, the map as returned by the getter will be passed to the map key extractor in order to obtain the map keys. When validating the `@RetailOrder` constraint and performing cascaded validation, the map as obtained directly from the field will be passed to the map value extractor in order to obtain the map values.
  
  * Custom extractor for a `Tuple` type:
  
  
negative.code: }
  ----
  
  The `@ExtractedValue` annotation must be specified exactly once for a value extractor type.
  Thus the following extractor definition is illegal as it specifies `@ExtractedValue` several times:
  
  [source,java]
  ----
  public class DoubleExtractor implements ValueExtractor<Multimap<@ExtractedValue ?, @ExtractedValue ?>> { ... }
  ----
  
  When defined for a generic type, only wildcard type arguments may be annotated with `@ExtractedValue`.
  I.e. the following extractor definition is illegal:
  
  [source,java]
  ----
  