boolean (@NotNull CompositePackagingElement<?> parent, @NotNull PackagingElementPath pathToParent, @NotNull @NonNls String relativePath, @NotNull final PackagingElementResolvingContext context, @NotNull final ArtifactType artifactType, @NotNull final PackagingElementProcessor<PackagingElement<?>> processor) { return processElementsByRelativePath(parent, relativePath, context, artifactType, pathToParent, new PackagingElementProcessor<>() { @Override public boolean process(@NotNull PackagingElement<?> element, @NotNull PackagingElementPath path) { if (element instanceof DirectoryPackagingElement) { final List<PackagingElement<?>> children = ((DirectoryPackagingElement)element).getChildren(); if (!processElementsWithSubstitutions(children, context, artifactType, path.appendComposite((DirectoryPackagingElement)element), processor)) { return false; } } return true; } }); }