public override SyntaxNode Visit(SyntaxNode node) { if (pending_ != null) { ITreeLookAhead curr = pending_; pending_ = null; LookAheadAction action; SyntaxNode newNode = curr.rewrite(this, node, out action); switch (action) { case LookAheadAction.SUCCEDED: return(newNode); case LookAheadAction.CONTINUE: { pending_ = curr; return(newNode); } } } return(base.Visit(node)); }