void (@NotNull Side side, int line) { MySimpleDiffChange change = ObjectUtils.tryCast(ContainerUtil.find(getDiffChanges(), it -> it.getStartLine(side) <= line && it.getEndLine(side) > line), MySimpleDiffChange.class); if (change == null || change.isPartiallyExcluded() || !myLocalRequest.getChangelistId().equals(change.getChangelistId())) { destroyHoverHighlighter(); return; } EditorEx editor = getEditor(side); if (LocalTrackerDiffUtil.hasIconHighlighters(myProject, editor, line)) { if (myHighlighter != null && editor.getDocument().getLineNumber(myHighlighter.getStartOffset()) != line) { destroyHoverHighlighter(); } return; } destroyHoverHighlighter(); boolean isExcludedFromCommit = change.getExclusionState() instanceof RangeExclusionState.Excluded; myHighlighter = LocalTrackerDiffUtil.createCheckboxToggle(editor, line, isExcludedFromCommit, () -> { LocalTrackerDiffUtil.toggleLinePartialExclusion(myTrackerActionProvider, line, side, isExcludedFromCommit); destroyHoverHighlighter(); }); }