Czy można to zapisać lepiej?
public static Description create(String text, Predicate<Integer> lengthValidator) {
var result = Optional
.ofNullable(text)
.flatMap(textArg -> Optional.of(lengthValidator.test(textArg.length())))
.orElseThrow();
if (result) {
return new Description(text);
}
else {
throw new IllegalArgumentException("Wrong text length");
}
}