@SafeVarargs
  public static <T> T checkInvariants(
    final T value,
    final ContractConditionType<T>... conditions)
    throws InvariantViolationException
  {
    final Violations violations = innerCheckAll(value, conditions);
    if (violations != null) {
      throw new InvariantViolationException(
        failedMessage(value, violations), null, violations.count());
    }
    return value;
  }
@ SafeVarargs public static < T > T checkInvariants ( final T value , final ContractConditionType < T > ... conditions ) throws InvariantViolationException { final Violations violations = innerCheckAll ( value , conditions ) ; if ( violations != null ) { throw new InvariantViolationException ( failedMessage ( value , violations ) , null , violations . count ( ) ) ; } return value ; }
<p>Evaluate all of the given {@code conditions} using {@code value} as
input.</p>

<p>All of the conditions are evaluated and the function throws {@link
InvariantViolationException} if any of the conditions are false, or raise
an exception that is not of type {@link Error}. Exceptions of type {@link
Error} are propagated immediately, without any further contract
checking.</p>

@param value      The value
@param conditions The set of conditions
@param <T>        The type of values

@return value

@throws InvariantViolationException If any of the conditions are false