public List<ScenarioGroup> GetPathToScenario(Scenario scenario) { List<ScenarioGroup> answer = new List<ScenarioGroup>() { this }; GetPathToScenarioHelper(scenario, answer); return answer; }
private void GetPathToScenarioHelper(Scenario scenario, List<ScenarioGroup> listToAppendTo) { foreach (Scenario child in Children.OfType<Scenario>()) if (child == scenario) { return; } foreach (ScenarioGroup groupChild in Children.OfType<ScenarioGroup>()) { if (groupChild.Contains(scenario.UIElementType)) { listToAppendTo.Add(groupChild); groupChild.GetPathToScenarioHelper(scenario, listToAppendTo); } } }