@NotNull
  public static <T> FairDiffIterable diff(@NotNull List<? extends T> objects1,
                                          @NotNull List<? extends T> objects2,
                                          @NotNull ProgressIndicator indicator)
    throws DiffTooBigException {
    return DiffIterableUtil.diff(objects1, objects2, new IndicatorCancellationChecker(indicator));
  }
@NotNull
  public static <T> FairDiffIterable diff(@NotNull List<? extends T> objects1,
                                          @NotNull List<? extends T> objects2,
                                          @NotNull ProgressIndicator indicator)