@NotNull
  private static FairDiffIterable expandRanges(@NotNull List<? extends Line> lines1,
                                               @NotNull List<? extends Line> lines2,
                                               @NotNull FairDiffIterable iterable) {
    List<Range> changes = new ArrayList<>();

    for (Range ch : iterable.iterateChanges()) {
      Range expanded = TrimUtil.expand(lines1, lines2, ch.start1, ch.start2, ch.end1, ch.end2);
      if (!expanded.isEmpty()) changes.add(expanded);
    }

    return fair(create(changes, lines1.size(), lines2.size()));
  }
@NotNull
  private static FairDiffIterable expandRanges(@NotNull List<? extends Line> lines1,
                                               @NotNull List<? extends Line> lines2,
                                               @NotNull FairDiffIterable iterable)