FairDiffIterable (@NotNull CharSequence text1, @NotNull CharSequence text2, @NotNull CancellationChecker indicator) { indicator.checkCanceled(); CodePointsOffsets chars1 = getPunctuationChars(text1); CodePointsOffsets chars2 = getPunctuationChars(text2); FairDiffIterable nonSpaceChanges = diff(chars1.codePoints, chars2.codePoints, indicator); return transferPunctuation(chars1, chars2, text1, text2, nonSpaceChanges, indicator); }