private static ListPopup createPopup(List<VirtualFile> files, List<Icon> icons) {
    BaseListPopupStep<VirtualFile> step = new BaseListPopupStep<>(RevealFileAction.getActionName(), files, icons) {
      @Override
      public @NotNull String getTextFor(VirtualFile value) {
        return value.getPresentableName();
      }

      @Override
      public PopupStep<?> onChosen(VirtualFile selectedValue, boolean finalChoice) {
        File selectedFile = new File(getPresentableUrl(selectedValue));
        if (selectedFile.exists()) {
          ApplicationManager.getApplication().executeOnPooledThread(() -> RevealFileAction.openFile(selectedFile));
        }
        return FINAL_CHOICE;
      }
    };

    return JBPopupFactory.getInstance().createListPopup(step);
  }
private static ListPopup createPopup(List<VirtualFile> files, List<Icon> icons)