public virtual void Return(Scope returningFromScope, ActionSet returningSet) { if (returningSet.IsRecursive) { returningFromScope.EndScope(returningSet, true); foreach (var recursiveIndexReference in AdditionalPopOnReturn) { returningSet.AddAction(recursiveIndexReference.Pop()); } } SkipStartMarker returnSkipStart = new SkipStartMarker(returningSet); returningSet.AddAction(returnSkipStart); _skips.Add(returnSkipStart); }