boolean () { // Define first change that increases or reduces text length. for (boolean first = true; myDiff == 0 && myChangeGroupStartIndex < myChanges.size(); myChangeGroupStartIndex++, first = false) { TextChangeImpl change = myChanges.get(myChangeGroupStartIndex); myDiff = change.getDiff(); if (first) { myDiff += myFirstChangeShift; } if (myDiff == 0) { int offset = change.getStart() + (first ? myFirstChangeShift : 0); CharArrayUtil.getChars(change.getText(), myData, offset); } else { myDataStartOffset = change.getStart(); if (first) { myDataStartOffset += myFirstChangeShift; } break; } } return myDiff != 0; }