@NotNull
  public static DiffIterable expandedIterable(@NotNull DiffIterable iterable, int offset1, int offset2, int length1, int length2) {
    assert offset1 + iterable.getLength1() <= length1 &&
           offset2 + iterable.getLength2() <= length2;
    return new ExpandedDiffIterable(iterable, offset1, offset2, length1, length2);
  }
@NotNull
  public static DiffIterable expandedIterable(@NotNull DiffIterable iterable, int offset1, int offset2, int length1, int length2)