public override void Visit(NodeVisitor v) { if (v.Visit(this)) { foreach (Node kid in this) { ((AstNode)kid).Visit(v); } } } }