@NotNull
  private static Couple<FairDiffIterable> comparePunctuation2Side(@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);
  }
@NotNull
  private static Couple<FairDiffIterable> comparePunctuation2Side(@NotNull CharSequence text1,
                                                                  @NotNull CharSequence text21,
                                                                  @NotNull CharSequence text22,
                                                                  @NotNull CancellationChecker indicator)