code: public static void state(final boolean expression, final Supplier<String> messageSupplier) {
      if (!expression) {
        throw new IllegalStateException(Assert.nullSafeGet(messageSupplier));
      }
    }
docs: Assert a boolean expression, throwing an {@code IllegalStateException} if the expression
  evaluates to {@code false}.
  <p>
  Call {@link #isTrue} if you wish to throw an {@code IllegalArgumentException} on an assertion
  failure.
  
  <pre class="code">
  Assert.state(id == null,
  () -&gt; "ID for " + entity.getName() + " must not already be initialized");
  </pre>
  
  @param expression a boolean expression
  @param messageSupplier a supplier for the exception message to use if the assertion fails
  @throws IllegalStateException if {@code expression} is {@code false}
  @since 5.0