protected static void failIfSame(@Nullable String customErrorMessage, @Nullable Description descriptionOfActual,
                                   @Nullable Object actual, @Nullable Object other) {
    if (actual != other) {
      return;
    }
    failWithMessage(customErrorMessage);
    fail(descriptionOfActual, array("given objects are same:", inBrackets(actual)));
  }
protected static void failIfSame(@Nullable String customErrorMessage, @Nullable Description descriptionOfActual,
                                   @Nullable Object actual, @Nullable Object other) {
    if (actual != other) {
      return;
    }
    failWithMessage(customErrorMessage);
    fail(descriptionOfActual, array("given objects are same:", inBrackets(actual)));
  }
protected static void failIfSame ( @ Nullable String customErrorMessage , @ Nullable Description descriptionOfActual , @ Nullable Object actual , @ Nullable Object other ) { if ( actual != other ) { return ; } failWithMessage ( customErrorMessage ) ; fail ( descriptionOfActual , array ( "given objects are same:" , inBrackets ( actual ) ) ) ; }
Throws an {@code AssertionError} if the given objects are the same.

@param customErrorMessage  any custom error message. This message will replace the default one only if it (the
custom message) is not {@code null}.
@param descriptionOfActual the description of the actual value.
@param actual              the actual object.
@param other               the object to compare to.
@throws AssertionError if the given objects are the same.
@since 1.2
Throws an { @code AssertionError } if the given objects are the same .