src/main/java/org/fest/assertions/Fail.java
protected static void failIfNotEqual(@Nullable String customErrorMessage, @Nullable Description descriptionOfActual,
                                       @Nullable Object actual, @Nullable Object expected) {
    if (areEqual(actual, expected)) {
      return;
    }
    failWithMessage(customErrorMessage);
    throw comparisonFailed(descriptionOfActual, actual, expected);
  }
protected static void failIfNotEqual(@Nullable String customErrorMessage, @Nullable Description descriptionOfActual,
                                       @Nullable Object actual, @Nullable Object expected) {
    if (areEqual(actual, expected)) {
      return;
    }
    failWithMessage(customErrorMessage);
    throw comparisonFailed(descriptionOfActual, actual, expected);
  }
Throws an {@code AssertionError} if 'actual' is not equal to 'expected'. If JUnit 4 (or greater) is in the
classpath, this method will throw a {@code ComparisonFailure} instead. More details about this feature can be
found <a href="http://docs.codehaus.org/display/FEST/JUnit-Specific+Features">here</a>.

@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 expected            the expected object.
@throws AssertionError if the given objects are not equal.
@since 1.2