private void setupComponent(JComponent component) {

    //Disposable capturedThis = this;
    //
    //component.addFocusListener(new FocusListener() {
    //
    //    InlayEventDispatcher eventDispatcher = new InlayEventDispatcher(component);
    //
    //        @Override public void focusLost(FocusEvent e) {
    //            popup.hide();
    //            filter.consolidateFilter();
    //            // important: call focusMoved AFTER checking changes, to
    //            // ensure that any changes on decoration (custom choice)
    //            // are not lost
    //            editor.focusMoved(false);
    //            downButton.setFocused(false);
    //
    //            IdeEventQueue.getInstance().removeDispatcher(eventDispatcher);
    //        }
    //
    //        @Override public void focusGained(FocusEvent e) {
    //
    //            IdeEventQueue.getInstance().addDispatcher(eventDispatcher, capturedThis);
    //
    //            downButton.setFocused(true);
    //            if (isEnabled()) {
    //                editor.focusMoved(true);
    //            }
    //        }
    //    });

    component.setFocusable(true);

    setupEnterKey(component);
    setupEscKey(component);
    setupHomeKey(component);
    setupHomeCtrlKey(component);
    setupEndKey(component);
    setupEndCtrlKey(component);
    setupUpKey(component);
    setupUpCtrlKey(component);
    setupUpPageKey(component);
    setupDownPageKey(component);
    setupDownKey(component);
    setupDownCtrlKey(component);
  }
private void setupComponent(JComponent component)