protected void installPopupHandler(boolean customizable,
                                     @Nullable ActionGroup popupActionGroup,
                                     @Nullable String popupActionId) {
    PopupHandler popupHandler;
    if (customizable) {
      popupHandler = popupActionGroup == null
                     ? CustomizationUtil.installToolbarCustomizationHandler(this)
                     : CustomizationUtil.installToolbarCustomizationHandler(popupActionGroup, popupActionId, getComponent(), myPlace);
    }
    else {
      popupHandler = popupActionGroup != null
                     ? PopupHandler.installPopupMenu(getComponent(), popupActionGroup, myPlace)
                     : null;
    }
    if (popupHandler == null) return;
    new ComponentTreeWatcher(ArrayUtil.EMPTY_CLASS_ARRAY) {
      @Override
      protected void processComponent(Component comp) {
        if (ClientProperty.isTrue(comp, DO_NOT_ADD_CUSTOMIZATION_HANDLER)) return;
        if (ContainerUtil.exists(comp.getMouseListeners(), listener -> listener instanceof PopupHandler)) return;
        comp.addMouseListener(popupHandler);
      }

      @Override
      protected void unprocessComponent(Component component) {
      }
    }.register(this);
  }
protected void installPopupHandler(boolean customizable,
                                     @Nullable ActionGroup popupActionGroup,
                                     @Nullable String popupActionId)