public override IEnumerator<NodeResult> NodeTask() { if (!run || ChildIsMissing()) { yield return NodeResult.Failure; yield break; } run = !run; var task = children [0].GetNodeTask (); while (task.MoveNext ()) { yield return task.Current; } }