boolean () { if (myEditor.getSoftWrapModel().isDirty()) { myDirty = true; return true; } if (myDirty) { int visibleLineCount = myEditor.getVisibleLineCount(); int lineDiff = visibleLineCount - myLineWidths.size(); if (lineDiff > 0) { myLineWidths.addAll(IntArrayList.wrap(new int[lineDiff])); } else if (lineDiff < 0) { myLineWidths.removeElements(visibleLineCount, visibleLineCount - lineDiff); } for (int i = 0; i < visibleLineCount; i++) { myLineWidths.set(i, UNKNOWN_WIDTH); } myDirty = false; } return false; }