ListPopup (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); }