anchor.diff:  
   @UnwrapByDefault
   public class PropertyValueExtractor implements ValueExtractor<Property<@ExtractedValue ?>> {
  +    [...]
  +}
  +
  +@UnwrapByDefault
  +public class OptionalIntValueExtractor implements ValueExtractor<
  +        @ExtractedValue(type = Integer.class) OptionalInt> {
  +
       [...]
   }
   ----
  
positive.code:     [...]
  }
  
  public class ConcurrentListValueExtractor implements ValueExtractor<ConcurrentList<@ExtractedValue ?>> {
      [...]
  }
  
  
negative.code: |`Map<@Email String, String> emails`|`MapKeyExtractor`; equally specific as `MapValueExtractor`, but the latter isn't container-element-compliant
  |`ConfusingMap<@Email String, String> map`|`MapValueExtractor`; the constrained type argument maps to the type parameter `V` of `Map`
  |`@Email StringProperty`|`PropertyValueExtractor`; the extractor is marked with `@UnwrapByDefault`, i.e. implicit unwrapping is performed
  |`@Min(1) OptionalInt`|`OptionalIntValueExtractor`; the extractor is marked with `@UnwrapByDefault`, i.e. implicit unwrapping is performed; `Integer` as given via `@ExtractedValue#type()` will be used for validator resolution
  |`Optional<@Email String> getEmail() {...}`|`ConstraintDeclarationException`; no compliant extractor exists
  |`Table<@Min(1) String, String, String> table`|`ConstraintDeclarationException`; `TableValueExtractor` is type-compliant but not container-element-compliant
  |`MyList<@Email String> emails`|`ConstraintDeclarationException`; `ListValueExtractor` and `ConcurrentListValueExtractor` are equally specific
  