private void invokePopup(MouseEvent e) {
    int logicalLineAtCursor = EditorUtil.yPositionToLogicalLine(myEditor, e);
    Point point = e.getPoint();
    PointInfo info = e instanceof StickyLineComponent.MyMouseEvent ? null : getPointInfo(point);
    if (info != null) {
      logGutterIconClick(info.renderer);
    }
    ClickInfo clickInfo = new ClickInfo(logicalLineAtCursor, info == null ? point : info.iconCenterPosition);
    EditorMouseEventArea editorArea = myEditor.getMouseEventArea(e);
    myLastActionableClick = clickInfo;

    AnAction rightButtonAction = info == null ? null : info.renderer.getRightButtonClickAction();
    if (rightButtonAction != null) {
      e.consume();
      performAction(rightButtonAction, e, ActionPlaces.EDITOR_GUTTER_POPUP, myEditor.getDataContext(), info);
      return;
    }
    EditorMouseEvent editorMouseEvent = new EditorMouseEvent(
      myEditor, e, editorArea, 0, new LogicalPosition(logicalLineAtCursor, 0),
      new VisualPosition(0, 0), true, null, null, null);
    ActionGroup group;
    if (info != null) {
      group = getPopupMenuActions(info.renderer);
    }
    else {
      group = getPopupActionGroup(editorMouseEvent);
    }
    if (group == null) {
      // nothing
    }
    else if (!checkDumbAware(group)) {
      notifyNotDumbAware();
    }
    else {
      if (info != null) addLoadingIconForGutterMark(info);
      String place = editorArea == EditorMouseEventArea.ANNOTATIONS_AREA ?
                     ActionPlaces.EDITOR_ANNOTATIONS_AREA_POPUP : ActionPlaces.EDITOR_GUTTER_POPUP;
      showGutterContextMenu(group, e, place);
    }
  }
private void invokePopup(MouseEvent e)