@Override
  protected SimpleNode[] buildChildren() {
    final PackagingSourceItemsProvider[] providers = PackagingSourceItemsProvider.EP_NAME.getExtensions();
    PackagingSourceItemFilter[] filters = PackagingSourceItemFilter.EP_NAME.getExtensions();
    List<SimpleNode> children = new ArrayList<>();
    for (PackagingSourceItemsProvider provider : providers) {
      final Collection<? extends PackagingSourceItem> items = provider.getSourceItems(myContext, myArtifact, getSourceItem());
      for (PackagingSourceItem item : items) {
        if (myArtifact.getArtifactType().isSuitableItem(item) && isAvailable(item, myContext, filters)) {
          children.add(new SourceItemNode(myContext, this, item, myArtifactEditor));
        }
      }
    }
    return children.isEmpty() ? NO_CHILDREN : children.toArray(new SimpleNode[0]);
  }
@Override
  protected SimpleNode[] buildChildren()