void (@NotNull Handler handler) { for (DiffChange diffChange : myDiffChanges) { TextDiffType type = getDiffType(diffChange); if (type == null) continue; int shift1 = diffChange.getStartLine(Side.LEFT); int shift2 = diffChange.getStartLine(Side.RIGHT); List<? extends LineFragment> fragments = diffChange.getFragments(); if (fragments == null) continue; for (LineFragment fragment : diffChange.getFragments()) { if (!handler.process(Side.LEFT.getStartLine(fragment) + shift1, Side.LEFT.getEndLine(fragment) + shift1, Side.RIGHT.getStartLine(fragment) + shift2, Side.RIGHT.getEndLine(fragment) + shift2, DiffUtil.getLineDiffType(fragment))) { return; } } } }