code: 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);
    }
docs: 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