code: public Node traverse(NodeVisitor nodeVisitor) {
          Validate.notNull(nodeVisitor);
          NodeTraversor.traverse(nodeVisitor, this);
          return this;
      }
docs: Perform a depth-first traversal through this node and its descendants.
  @param nodeVisitor the visitor callbacks to perform on each node
  @return this node, for chaining