protected final void fail(@NotNull String reason, @Nullable Throwable cause) {
    Fail.fail(formattedErrorMessage(reason), cause);
  }
protected final void fail(@NotNull String reason, @Nullable Throwable cause) {
    Fail.fail(formattedErrorMessage(reason), cause);
  }
protected final void fail ( @ NotNull String reason , @ Nullable Throwable cause ) { Fail . fail ( formattedErrorMessage ( reason ) , cause ) ; }
Fails by throwing an {@code AssertionError}.

@param reason the reason for the failure, used as the message for the thrown exception.
@param cause  the root cause of the failure, included in the thrown exception.
@throws NullPointerException if the given reason is {@code null}.
Fails by throwing an { @code AssertionError } .