void (@NotNull AnActionEvent e) { Collection<VirtualFile> files = findLocalFiles(myProject, Urls.newFromVirtualFile(myFile), myFile.getName()); if (files.isEmpty()) { Messages.showErrorDialog(myProject, LangBundle.message("dialog.message.cannot.find.local.file.for", myFile.getUrl()), CommonBundle.getErrorTitle()); return; } if (files.size() == 1) { navigateToFile(myProject, ContainerUtil.getFirstItem(files, null)); } else { JBPopupFactory.getInstance() .createPopupChooserBuilder(new ArrayList<>(files)) .setRenderer(new ColoredListCellRenderer<>() { @Override protected void customizeCellRenderer(@NotNull JList<? extends VirtualFile> list, VirtualFile value, int index, boolean selected, boolean hasFocus) { FileAppearanceService.getInstance().forVirtualFile(value).customize(this); } }) .setTitle(LangBundle.message("popup.title.select.target.file")) .setMovable(true) .setItemsChosenCallback((selectedValues) -> { for (VirtualFile value : selectedValues) { navigateToFile(myProject, value); } }).createPopup().showUnderneathOf(e.getInputEvent().getComponent()); } }