code: @Nonnull
    public static Error fail(@Nullable final String message) {
      final AssertionError error = new AssertionError(GetUtils.ensureNonNull(message, "failed"));
      MetaErrorListeners.fireError("Asserion error", error);
      if (true) {
        throw error;
      }
      return error;
    }
docs: Throw assertion error for some cause
  
  @param message description of the cause.
  @return generated error, but it throws AssertionError before return so that the value just for IDE.
  @throws AssertionError will be thrown
  @since 1.0