void (int start2, int end2, int start11, int end11, int start21, int end21) { CharSequence sequence11 = myText1.subSequence(start11, end11); CharSequence sequence12 = myText1.subSequence(start21, end21); CharSequence sequence2 = myText2.subSequence(start2, end2); Couple<FairDiffIterable> changes = comparePunctuation2Side(sequence2, sequence11, sequence12, myIndicator); // Mirrored ch.*1 and ch.*2 as we use "compare2Side" that works with 2 right side, while we have 2 left here for (Range ch : changes.first.iterateUnchanged()) { myBuilder.markEqual(start11 + ch.start2, start2 + ch.start1, start11 + ch.end2, start2 + ch.end1); } for (Range ch : changes.second.iterateUnchanged()) { myBuilder.markEqual(start21 + ch.start2, start2 + ch.start1, start21 + ch.end2, start2 + ch.end1); } }