@ApiStatus.Internal
  Component getNonMoreElementRenderer(@NotNull JList<?> list, Object value, int index, boolean selected, boolean hasFocus,
                                      SearchListModel searchListModel, Map<String, ListCellRenderer<? super Object>> renderersCache) {
    Color unselectedBackground = extractUnselectedBackground(selected, () ->
      SearchEverywhereClassifier.EP_Manager.getListCellRendererComponent(list, value, index, false, hasFocus));
    Component component = detachParent(SearchEverywhereClassifier.EP_Manager.getListCellRendererComponent(
      list, value, index, selected, hasFocus));
    if (component == null) {
      SearchEverywhereContributor<Object> contributor = searchListModel.getContributorForIndex(index);
      assert contributor != null : "Null contributor is not allowed here";
      ListCellRenderer<? super Object> renderer = renderersCache.computeIfAbsent(contributor.getSearchProviderId(), s -> contributor.getElementsRenderer());
      try (AccessToken ignore = SlowOperations.knownIssue("IDEA-326652, EA-826545; IDEA-260958, EA-831915")) {
        unselectedBackground = extractUnselectedBackground(selected, () ->
          detachParent(renderer.getListCellRendererComponent(list, value, index, false, true)));
      }
      component = detachParent(renderer.getListCellRendererComponent(list, value, index, selected, true));
    }

    if (component instanceof JComponent jComponent) {
      if (!ExperimentalUI.isNewUI()) {
        jComponent.setBorder(
          new EmptyBorder(jComponent.getBorder() == GotoActionModel.GotoActionListCellRenderer.TOGGLE_BUTTON_BORDER
                          ? TOGGLE_BUTTON_RENDERER_INSETS
                          : RENDERER_INSETS));
      }
    }

    AppUIUtil.targetToDevice(component, list);

    if (ExperimentalUI.isNewUI()) {
      Color rowBackground;
      if (selected) {
        rowBackground = unselectedBackground;
      }
      else {
        rowBackground = component.getBackground();
      }
      if (rowBackground == null || rowBackground == UIUtil.getListBackground()) {
        rowBackground = JBUI.CurrentTheme.Popup.BACKGROUND;
      }

      SelectablePanel selectablePanel;
      if (component instanceof SelectablePanel) {
        selectablePanel = (SelectablePanel)component;
      } else {
        if (component instanceof JComponent) {
          ((JComponent)component).setBorder(JBUI.Borders.empty());
        }
        UIUtil.setOpaqueRecursively(component, false);
        selectablePanel = SelectablePanel.wrap(component);
        component = selectablePanel;
      }
      selectablePanel.setBackground(rowBackground);
      PopupUtil.configListRendererFixedHeight(selectablePanel);
      if (selected) {
        selectablePanel.setSelectionColor(UIUtil.getListBackground(true, true));
      }
    } else {
      component.setPreferredSize(UIUtil.updateListRowHeight(component.getPreferredSize()));
    }

    return component;
  }
@ApiStatus.Internal
  Component getNonMoreElementRenderer(@NotNull JList<?> list, Object value, int index, boolean selected, boolean hasFocus,
                                      SearchListModel searchListModel, Map<String, ListCellRenderer<? super Object>> renderersCache)