Currently, if we have the following:
@NotNull
private Optional<@NotNull(message = "type") String> property;
and property is null, we report 2 violations whereas we should report only one and not call the extractor to get the wrapped value. It currently works as the ValueExtractor for Optional is null safe but it throws a NPE for a StringProperty as the according ValueExtractor is not null safe. The plan is: don't call the ValueExtractor on null values and we can get rid of the null safe behavior of some of the ValueExtractor s. |