### Question:
RangeValidator implements ConfigurationOption.Validator<T> { public static <T extends Comparable> RangeValidator<T> max(T max) { return new RangeValidator<>(null, max, true); } private  RangeValidator(@Nullable T min, @Nullable T max, boolean mustBeInRange); static RangeValidator<T> isInRange(T min, T max); static RangeValidator<T> isNotInRange(T min, T max); static RangeValidator<T> min(T min); static RangeValidator<T> max(T max); @Override void assertValid(@Nullable T value);  }### Answer:
@Test void testMax() { final RangeValidator<Integer> validator = RangeValidator.max(3); validator.assertValid(1); validator.assertValid(2); validator.assertValid(3); assertThatThrownBy(() -> validator.assertValid(4)).isInstanceOf(IllegalArgumentException.class); }