void (@NotNull final List<? extends PackagingSourceItem> items) { final List<PackagingElement<?>> toSelect = new ArrayList<>(); editLayout(() -> { final CompositePackagingElement<?> rootElement = getArtifact().getRootElement(); final ArtifactType artifactType = getArtifact().getArtifactType(); for (PackagingSourceItem item : items) { final String path = artifactType.getDefaultPathFor(item); if (path != null) { final CompositePackagingElement<?> parent; if (path.endsWith(URLUtil.JAR_SEPARATOR)) { parent = PackagingElementFactory.getInstance().getOrCreateArchive(rootElement, StringUtil.trimEnd(path, URLUtil.JAR_SEPARATOR)); } else { parent = PackagingElementFactory.getInstance().getOrCreateDirectory(rootElement, path); } final List<? extends PackagingElement<?>> elements = item.createElements(myContext); toSelect.addAll(parent.addOrFindChildren(elements)); } } }); myArtifactsEditor.getSourceItemsTree().rebuildTree(); updateAndSelect(getRootNode(), toSelect); }