@NotNull
  public List<LineFragment> compareLines(@NotNull Range range,
                                         @NotNull CharSequence text1,
                                         @NotNull CharSequence text2,
                                         @NotNull LineOffsets lineOffsets1,
                                         @NotNull LineOffsets lineOffsets2,
                                         @NotNull ComparisonPolicy policy,
                                         @NotNull ProgressIndicator indicator) throws DiffTooBigException {
    List<CharSequence> lineTexts1 = getLineContents(range.start1, range.end1, text1, lineOffsets1);
    List<CharSequence> lineTexts2 = getLineContents(range.start2, range.end2, text2, lineOffsets2);

    FairDiffIterable iterable = ByLine.compare(lineTexts1, lineTexts2, policy, indicator);
    return convertIntoLineFragments(range, lineOffsets1, lineOffsets2, iterable);
  }
@NotNull
  public List<LineFragment> compareLines(@NotNull Range range,
                                         @NotNull CharSequence text1,
                                         @NotNull CharSequence text2,
                                         @NotNull LineOffsets lineOffsets1,
                                         @NotNull LineOffsets lineOffsets2,
                                         @NotNull ComparisonPolicy policy,
                                         @NotNull ProgressIndicator indicator)