anchor.diff:  	}
   }
   ----
  -
  ++
   [source,java]
   ----
   public class TupleSecondExtractor implements ValueExtractor<Tuple<?, @ExtractedValue ?>> {
  
positive.code: *** key: `null`
  * `java.util.Map`
  ** When `@Valid` is given on the map element itself, the element and all its values will be validated; this is to grant backwards compatability with BV 1.1
  ** When `@Valid` is given on the key type parameter, only the keys will be validated
  ** When `@Valid` is given on the value type parameter, only the values will be validated
  ** When validating a constraint on the key type argument of `Map`, a node with the following properties will be added to the path:
  *** name: "<map key>"
  *** kind: `TYPE_ARGUMENT`
  
negative.code: 	}
  }
  ----
  +
  [source,java]
  ----
  private Tuple<@NotNull @Email String, @NotNull @Min(1) Integer> tuple;
  ----
  
  ===== Examples for extractor retrieval
  
  * The most specific extractor matching the constrained type argument is chosen:
  +
  [source,java]
  ----
  private List<@Email String> emails;
  ----
  +
  Based on the algorithm described above and considering the mandated default extractors, only the extractor for `List` and `Iterable` are candidate extractors (all other extractors are defined for a type parameter not mapping to `T` of `List`). The extractor for `List` will be applied as it's more specific than the extractor for `Iterable` (`List` is a subtype of `Iterable`).
  
  * Constraints targeting wrapped values can be given on the wrapping element.
  Let there be these definitions:
  +
  [source,java]
  ----
  class StringWrapper {
      String wrapped;
  };
  ----
  +
  [source,java]
  ----
  @ConstraintsApplyTo(WRAPPED_VALUE)
  class StringWrapperExtractor implements ValueExtractor<@ExtractedValue StringWrapper> { ... }
  };
  ----
  +
  [source,java]
  ----
  private @Email StringWrapper email;
  ----
  +
  The `@Email` constraint will be applied to the wrapped string and can be validated as the extractor defines that element-level constraints should be applied to the wrapped value.
  +
  If the extractor were not decorated with `@ConstraintsApplyTo` an exception would be raised as there is no validator for `@Email` on `StringWrapper`.
  +
  Unwrapping could be mandated explicitly in this case:
  +
  [source,java]
  ----
  @ConstraintsApplyTo(WRAPPED_VALUE)
  