code: public static void supported(Boolean supported, Supplier<String> message) {
      if (isNotSupported(supported)) {
        throw new UnsupportedOperationException(message.get());
      }
    }
docs: Asserts that an operation is supported.
  
  The assertion holds if and only if supported is {@literal true}.
  
  For example, the application code might assert that:
  
  <code>
  Assert.supported(dataAccessOperations.isCacheable(), "Data Access Operations (DAO) are not cacheable");
  </code>
  
  @param supported {@link Boolean} value resulting from the evaluation of the criteria used by the application
  to determine if the operation is supported.
  @param message {@link Supplier} containing the message used in the {@link UnsupportedOperationException} thrown
  if the assertion fails.
  @throws java.lang.UnsupportedOperationException if the operations is unsupported.
  @see java.util.function.Supplier