@Override
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean hasFocus) {
      Component cmp;
      Color bg = isSelected ? UIUtil.getListBackground(isSelected, true) : list.getBackground();
      if (isMoreItem(index)) {
        runAnythingMore.setBackground(bg);
        cmp = runAnythingMore;
      } else {
        if (value instanceof RunAnythingItem) {
          cmp = ((RunAnythingItem)value).createComponent(myLastInputText, isSelected, hasFocus);
          if (cmp.getBackground() == null || cmp.getBackground() == UIUtil.getListBackground()) {
            cmp.setBackground(bg);
          }
        }
        else {
          cmp = super.getListCellRendererComponent(list, value, index, isSelected, isSelected);
          final JPanel p = new JPanel(new BorderLayout());
          p.setBackground(bg);
          p.add(cmp, BorderLayout.CENTER);
          cmp = p;
        }
      }

      Color foreground = cmp.getForeground();
      if (foreground == null) {
        cmp.setForeground(UIUtil.getListForeground(isSelected));
        foreground = cmp.getBackground();
      }
      RunAnythingSearchListModel model = getSearchingModel(myResultsList);
      SelectablePanel wrapped = SelectablePanel.wrap(cmp, list.getBackground());
      wrapped.setSelectionColor(bg);
      wrapped.setForeground(foreground);
      if (ExperimentalUI.isNewUI()) {
        PopupUtil.configListRendererFixedHeight(wrapped);
      }
      else {
        wrapped.setBorder(RENDERER_BORDER);
      }
      if (model != null) {
        String title = model.getTitle(index);
        if (title != null) {
          return groupTitleRenderer.withDisplayedData(title, wrapped);
        }
      }

      return wrapped;
    }
@Override
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean hasFocus)