@NotNull
  public static DiffIterable create(@NotNull List<? extends Range> ranges, int length1, int length2) {
    DiffIterable iterable = new RangesDiffIterable(ranges, length1, length2);
    verify(iterable);
    return iterable;
  }
@NotNull
  public static DiffIterable create(@NotNull List<? extends Range> ranges, int length1, int length2)