text: public virtual void UnrollRecursionContexts(ParserRuleContext _parentctx){_precedenceStack.RemoveAt(_precedenceStack.Count - 1);_ctx.Stop = _input.LT(-1);ParserRuleContext retctx = _ctx;if (_parseListeners != null){while (_ctx != _parentctx){TriggerExitRuleEvent();_ctx = (ParserRuleContext)_ctx.Parent;}}else{_ctx = _parentctx;}retctx.Parent = _parentctx;if (_buildParseTrees && _parentctx != null){_parentctx.AddChild(retctx);}}