public override object Visit(Visitor that, object value = null) { return that.Visit(this, value); }
/** Visits a node without traversing the nodes below it (unless the visitor itself does so). */ public abstract object Visit(Visitor that, object value = null);