boolean (final List<? extends NamedConfigurable> selectedConfigurables, final DetailsComponent detailsComponent) { FacetType selectedFacetType = null; List<FacetEditor> facetEditors = new ArrayList<>(); for (NamedConfigurable selectedConfigurable : selectedConfigurables) { if (selectedConfigurable instanceof FacetConfigurable facetConfigurable) { FacetType facetType = facetConfigurable.getEditableObject().getType(); if (selectedFacetType != null && selectedFacetType != facetType) { return false; } selectedFacetType = facetType; facetEditors.add(facetConfigurable.getEditor()); } } if (facetEditors.size() <= 1) { return false; } FacetEditor[] selectedEditors = facetEditors.toArray(new FacetEditor[0]); MultipleFacetSettingsEditor editor = selectedFacetType.createMultipleConfigurationsEditor(myProject, selectedEditors); if (editor == null) { return false; } setSelectedNode(null); myCurrentMultipleSettingsEditor = editor; detailsComponent.setText(JavaUiBundle.message("multiple.facets.banner.0.1.facets", selectedEditors.length, selectedFacetType.getPresentableName())); detailsComponent.setContent(editor.createComponent()); return true; }