DiffIterable () { for (Range range : myIterable.iterateChanges()) { int endCut = expandWhitespacesBackward(myText1, myText2, range.start1, range.start2, range.end1, range.end2); int startCut = expandWhitespacesForward(myText1, myText2, range.start1, range.start2, range.end1 - endCut, range.end2 - endCut); Range expand = new Range(range.start1 + startCut, range.end1 - endCut, range.start2 + startCut, range.end2 - endCut); if (!expand.isEmpty()) { myChanges.add(expand); } } return create(myChanges, myText1.length(), myText2.length()); }