code: @SuppressWarnings({ "rawtypes", "unchecked" })
    private <V extends Comparable> void verifyComparable(V value, V minimum, V maximum) {
  
      if (minimum != null) {
        if (maximum != null) {
          assert ((value.compareTo(minimum) < 0) || (value.compareTo(maximum) > 0));
        } else {
          assert (value.compareTo(minimum) < 0);
        }
      } else if (maximum != null) {
        assert (value.compareTo(maximum) > 0);
      } else {
        throw new NlsNullPointerException("minimum & maximum");
      }
    }
docs: Verifies that the {@code value} is actually out of range.
  
  @param <V> is the generic type of the values.
  @param value is the number that is out of range.
  @param minimum is the minimum value allowed
  @param maximum is the maximum value allowed.