private QilNode Subs(QilNode expr, QilNode refOld, QilNode refNew) { QilNode result; this.subs.AddSubstitutionPair(refOld, refNew); if (expr is QilReference) result = VisitReference(expr); else result = Visit(expr); this.subs.RemoveLastSubstitutionPair(); return result; }