private void createGui(IFilterEditor editor) {
        MouseHandler mouseHandler = new MouseHandler();
        choicesList = new JList(choicesModel);
        choicesList.addMouseMotionListener(mouseHandler);
        choicesList.addMouseListener(mouseHandler);

        choicesScrollPane = createScrollPane(choicesList);

        historyList = new JList(historyModel);
        historyList.addMouseMotionListener(mouseHandler);
        historyList.addMouseListener(mouseHandler);

        choicesList.setBorder(null);
        choicesList.setFocusable(false);
        choicesList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        historyList.setBorder(null);
        historyList.setFocusable(false);
        historyList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        ensureListRowsHeight();

        separator = new JSeparator();

        popup = new JPopupMenu();
        popup.setLayout(new BorderLayout());
        popup.setBorderPainted(true);
        popup.setOpaque(false);
        popup.addPopupMenuListener(this);

        historyScrollPane = createScrollPane(historyList);

        popup.add(historyScrollPane, BorderLayout.NORTH);
        popup.add(separator, BorderLayout.CENTER);
        popup.add(choicesScrollPane, BorderLayout.SOUTH);
        popup.setDoubleBuffered(true);
        popup.setFocusable(false);

        listRenderer = new FilterListCellRenderer(editor, choicesList);
        choicesList.setCellRenderer(listRenderer);
        historyList.setCellRenderer(listRenderer);
    }
private void createGui(IFilterEditor editor)