@Override
  public List<PsiElement> getNodeChildren(PsiElement node) {
    final List<PsiElement> result = new ArrayList<>();

    final FilteringNodeIterator it = new FilteringNodeIterator(SiblingNodeIterator.create(node.getFirstChild()), myNodeFilter);
    while (it.hasNext()) {
      result.add(it.current());
      it.advance();
    }

    return result;
  }
@Override
  public List<PsiElement> getNodeChildren(PsiElement node)