@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;
      }
@Override
      public boolean process(@NotNull PackagingElement<?> element, @NotNull PackagingElementPath path)