code: public Correspondence<A, E> formattingDiffsUsing(DiffFormatter<? super A, ? super E> formatter) {
      return new FormattingDiffs<>(this, formatter);
    }
docs: Returns a new correspondence which is like this one, except that the given formatter may be
  used to format the difference between a pair of elements that do not correspond.
  
  <p>Note that, if you the data you are asserting about contains null actual or expected values,
  the formatter may be invoked with a null argument. If this causes it to throw a {@link
  NullPointerException}, that will be taken to indicate that the values cannot be diffed. (See
  {@link Correspondence#formatDiff} for more detail on how exceptions are handled.) If you think
  null values are likely, it is slightly cleaner to have the formatter return null in that case
  instead of throwing.
  
  <p>Example:
  
  <pre>{@code
  class MyRecordTestHelper {
  static final Correspondence<MyRecord, MyRecord> EQUIVALENCE =
  Correspondence.from(MyRecordTestHelper::recordsEquivalent, "is equivalent to")
  .formattingDiffsUsing(MyRecordTestHelper::formatRecordDiff);
  static boolean recordsEquivalent(@Nullable MyRecord actual, @Nullable MyRecord expected) {
  // code to check whether records should be considered equivalent for testing purposes
  }
  static String formatRecordDiff(@Nullable MyRecord actual, @Nullable MyRecord expected) {
  // code to format the diff between the records
  }
  }
  }</pre>