protected virtual QilNode VisitReference(QilNode n) {
if (n == null)
return VisitNull();
switch (n.NodeType) {
case QilNodeType.For: return VisitForReference((QilIterator)n);
case QilNodeType.Let: return VisitLetReference((QilIterator)n);
case QilNodeType.Parameter: return VisitParameterReference((QilParameter)n);
case QilNodeType.Function: return VisitFunctionReference((QilFunction)n);
default: return VisitUnknown(n);
}
}