void showPopup(Component component, Component emitter) {
    if (myPopup == null || myPopup.isDisposed()) {
      myPopup = JBPopupFactory.getInstance().createComponentPopupBuilder(this, myKeyboardPanel.myFirstStroke)
        .setRequestFocus(true)
        .setTitle(KeyMapBundle.message("filter.settings.popup.title"))
        .setCancelKeyEnabled(false)
        .setMovable(true)
        .createPopup();
      IdeEventQueue.getInstance().addPostprocessor(new IdeEventQueue.EventDispatcher() {
        boolean isEscWasPressed;
        @Override
        public boolean dispatch(@NotNull AWTEvent e) {
          if (e instanceof KeyEvent && e.getID() == KeyEvent.KEY_PRESSED) {
            boolean isEsc =  ((KeyEvent)e).getKeyCode() == KeyEvent.VK_ESCAPE;
            if (isEscWasPressed && isEsc) {
              myPopup.cancel();
            }
            isEscWasPressed = isEsc;
          }
          return false;
        }
      }, myPopup);
    }

    HelpTooltip.setMasterPopup(emitter, myPopup);
    myPopup.showUnderneathOf(component);
  }
void showPopup(Component component, Component emitter)