Couple<FairDiffIterable> (@NotNull CharSequence text1, @NotNull CharSequence text21, @NotNull CharSequence text22, @NotNull CancellationChecker indicator) { CharSequence text2 = new MergingCharSequence(text21, text22); FairDiffIterable changes = ByCharRt.comparePunctuation(text1, text2, indicator); Couple<List<Range>> ranges = splitIterable2Side(changes, text21.length()); FairDiffIterable iterable1 = fair(createUnchanged(ranges.first, text1.length(), text21.length())); FairDiffIterable iterable2 = fair(createUnchanged(ranges.second, text1.length(), text22.length())); return Couple.of(iterable1, iterable2); }