Additional info: if you want to override this behavior, you can do it by registering your very own value extractor:
Validator validator = Validation.byDefaultProvider() .configure() .addValueExtractor( new MyOptionalValueExtractor() ) .buildValidatorFactory() .getValidator();