@Override
  ListCellRenderer<Object> createListRenderer(SearchListModel model, SearchEverywhereHeader header) {
    return new ListCellRenderer<>() {

      private final Map<String, ListCellRenderer<? super Object>> myRenderersCache = new HashMap<>();

      @Override
      public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        if (value == SearchListModel.MORE_ELEMENT) {
          return getMoreElementRenderer(list, index, isSelected, cellHasFocus);
        } else if (value instanceof SearchListModel.ResultsNotificationElement) {
          return resultsNotificationElementRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
        }

        return getNonMoreElementRenderer(list, value, index, isSelected, cellHasFocus, model, myRenderersCache);
      }
    };
  }
@Override
  ListCellRenderer<Object> createListRenderer(SearchListModel model, SearchEverywhereHeader header)