public IEnumerator ConversationRoutine() { for (ConversationNode node = firstNode; node != null; node = node.GetNext()) { IEnumerator nodeRoutine = node.AcceptVisitor(visitor); while (nodeRoutine.MoveNext()) { yield return(nodeRoutine.Current); } } }