DiffIterable () { for (Range range : myIterable.iterateChanges()) { int start1 = range.start1; int start2 = range.start2; int end1 = range.end1; int end2 = range.end2; if (isLeadingTrailingSpace(myText1, start1)) { start1 = trimStart(myText1, start1, end1); } if (isLeadingTrailingSpace(myText1, end1 - 1)) { end1 = trimEnd(myText1, start1, end1); } if (isLeadingTrailingSpace(myText2, start2)) { start2 = trimStart(myText2, start2, end2); } if (isLeadingTrailingSpace(myText2, end2 - 1)) { end2 = trimEnd(myText2, start2, end2); } Range trimmed = new Range(start1, end1, start2, end2); if (!trimmed.isEmpty() && !isEquals(myText1, myText2, trimmed)) { myChanges.add(trimmed); } } return create(myChanges, myText1.length(), myText2.length()); }