@NotNull
  @Override
  public Collection<VirtualFile> getRoots() {
    Collection<AbstractTreeNode<?>> children = getChildren();
    Set<VirtualFile> result = new HashSet<>();
    for (AbstractTreeNode each : children) {
      if (each instanceof ProjectViewNode) {
        result.addAll(((ProjectViewNode<?>)each).getRoots());
      }
    }

    return result;
  }
@NotNull
  @Override
  public Collection<VirtualFile> getRoots()