@Override
    protected void showActionGroupPopup(@NotNull ActionGroup actionGroup, @NotNull AnActionEvent event) {
      if (myPopupState.isRecentlyHidden()) return; // do not show new popup
      ActionManagerImpl actionManager = (ActionManagerImpl)event.getActionManager();
      ActionPopupMenu popupMenu = actionManager.createActionPopupMenu(event.getPlace(), actionGroup, new MenuItemPresentationFactory() {
        @Override
        protected void processPresentation(@NotNull AnAction action, @NotNull Presentation presentation) {
          super.processPresentation(action, presentation);
          if (StringUtil.defaultIfEmpty(presentation.getText(), "").equals(myPresentation.getText()) &&
              StringUtil.defaultIfEmpty(presentation.getDescription(), "").equals(myPresentation.getDescription())) {
            presentation.setEnabled(selectedActionEnabled());
          }
        }
      });
      popupMenu.setTargetComponent(this);

      JPopupMenu menu = popupMenu.getComponent();
      myPopupState.prepareToShow(menu);
      if (event.isFromActionToolbar()) {
        menu.show(this, ActionToolbar.DEFAULT_MINIMUM_BUTTON_SIZE.width + getInsets().left, getHeight());
      }
      else {
        JBPopupMenu.showAtRight(this, menu);
      }

      HelpTooltip.setMasterPopupOpenCondition(this, () -> !menu.isVisible());
    }
@Override
    protected void showActionGroupPopup(@NotNull ActionGroup actionGroup, @NotNull AnActionEvent event)