void (@NotNull AnActionEvent event) { FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFileNoJarsDescriptor() .withFileFilter(file -> { final FileType fileType = file.getFileType(); return fileType == ModuleFileType.INSTANCE || fileType == XmlFileType.INSTANCE; }) .withTitle(CopyrightBundle.message("dialog.file.chooser.title.choose.file.containing.copyright.notice")); FileChooser.chooseFile(descriptor, myProject, null, file -> { final List<CopyrightProfile> profiles = ExternalOptionHelper.loadOptions(VfsUtilCore.virtualToIoFile(file)); if (profiles == null) return; if (!profiles.isEmpty()) { if (profiles.size() == 1) { importProfile(profiles.get(0)); } else { JBPopupFactory.getInstance() .createListPopup(new BaseListPopupStep<>(CopyrightBundle.message("popup.title.choose.profile.to.import"), profiles) { @Override public PopupStep<?> onChosen(final CopyrightProfile selectedValue, boolean finalChoice) { return doFinalStep(() -> importProfile(selectedValue)); } @NotNull @Override public String getTextFor(CopyrightProfile value) { return value.getName(); } }) .showUnderneathOf(myNorthPanel); } } else { Messages.showWarningDialog(myProject, CopyrightBundle.message("dialog.message.the.selected.file.copyright.settings"), CopyrightBundle.message("dialog.title.import.failure")); } }); }