void () { int last1 = 0; int last2 = 0; for (Range ch : myChanges.iterateUnchanged()) { int count = ch.end1 - ch.start1; for (int i = 0; i < count; i++) { IntPair range1 = getOriginalRange1(ch.start1 + i); IntPair range2 = getOriginalRange2(ch.start2 + i); int start1 = range1.first; int start2 = range2.first; int end1 = range1.second; int end2 = range2.second; matchGap(last1, start1, last2, start2); myBuilder.markEqual(start1, start2, end1, end2); last1 = end1; last2 = end2; } } matchGap(last1, myLength1, last2, myLength2); }