@NotNull
  public static <T> FairDiffIterable diff(@NotNull List<? extends T> objects1,
                                          @NotNull List<? extends T> objects2,
                                          @NotNull CancellationChecker indicator)
    throws DiffTooBigException {
    // TODO: compare lists instead of arrays in Diff
    return diff(objects1.toArray(), objects2.toArray(), indicator);
  }
@NotNull
  public static <T> FairDiffIterable diff(@NotNull List<? extends T> objects1,
                                          @NotNull List<? extends T> objects2,
                                          @NotNull CancellationChecker indicator)