@Override public void visitComposite(CompositeElement composite) {
    if(!visitNode(composite)) return;
    TreeElement child = composite.getFirstChildNode();
    while(child != null) {
      TreeElement treeNext = child.getTreeNext();
      child.acceptTree(this);
      child = treeNext;
    }
  }
@Override public void visitComposite(CompositeElement composite)