void (MouseEvent e) { PointInfo info = getPointInfo(e.getPoint()); GutterIconRenderer renderer = info == null ? null : info.renderer; AnAction clickAction = null; if (renderer != null) { var btn = e.getButton(); if (btn == MouseEvent.BUTTON2 || (btn == MouseEvent.BUTTON1 && BitUtil.isSet(e.getModifiersEx(), InputEvent.ALT_DOWN_MASK))) { clickAction = renderer.getMiddleButtonClickAction(); } else if (btn == MouseEvent.BUTTON1) { clickAction = renderer.getClickAction(); } } if (clickAction != null) { myLastActionableClick = new ClickInfo(EditorUtil.yPositionToLogicalLine(myEditor, e), info.iconCenterPosition); logGutterIconClick(renderer); e.consume(); performAction(clickAction, e, ActionPlaces.EDITOR_GUTTER, DataManager.getInstance().getDataContext(this), info); repaint(); } else { ActiveGutterRenderer lineRenderer = e.isConsumed() ? null : getActiveRendererByMouseEvent(e); if (lineRenderer != null) { lineRenderer.doAction(myEditor, e); } else { fireEventToTextAnnotationListeners(e); } } }