void (@NotNull Component componentAbove, @NotNull SchemeImporter<EditorColorsScheme> importer, @NotNull VirtualFile jarFile) { try { List<VirtualFile> schemeFiles = getSchemeFiles(jarFile); if (schemeFiles.size() == 1 || ApplicationManager.getApplication().isUnitTestMode()) { doImport(importer, schemeFiles.iterator().next()); return; } List<ColorSchemeItem> fileList = new ArrayList<>(schemeFiles.size()); for (VirtualFile file : schemeFiles) { Element root = SchemeImportUtil.loadSchemeDom(file); String name = StringUtil.trimStart(ColorSchemeImporter.getSchemeName(root), Scheme.EDITABLE_COPY_PREFIX); fileList.add(new ColorSchemeItem(name, file)); } ImportSchemeChooserDialog dialog = new ImportSchemeChooserDialog(mySchemesPanel, componentAbove, fileList); if (dialog.showAndGet()) { List<ColorSchemeItem> selectedItems = dialog.getSelectedItems(); for (ColorSchemeItem item : selectedItems) { doImport(importer, item.file()); } } } catch (SchemeImportException e) { handleError(e, jarFile); } }