code: public static int checkInvariantI(
      final int value,
      final IntPredicate predicate,
      final IntFunction<String> describer)
    {
      final boolean ok;
      try {
        ok = predicate.test(value);
      } catch (final Throwable e) {
        final Violations violations = singleViolation(failedPredicate(e));
        throw new InvariantViolationException(
          failedMessage(Integer.valueOf(value), violations), e, violations.count());
      }
  
      return innerCheckInvariantI(value, ok, describer);
    }
docs: An {@code int} specialized version of {@link #checkInvariant(Object,
  ContractConditionType)}.
  
  @param value     The value
  @param predicate The predicate
  @param describer The describer for the predicate
  
  @return value
  
  @throws InvariantViolationException If the predicate is false