private QuestList <Element> GetAllChildren(/* Element */ object obj, ObjectType type) { Element element = GetParameter <Element>(obj, "GetAllChildren", "object"); QuestList <Element> result = new QuestList <Element>(); foreach (Element child in m_worldModel.Elements.GetDirectChildren(element).Where(e => e.ElemType == ElementType.Object && e.Type == type)) { result.Add(child); result.AddRange(GetAllChildren(child, type)); } return(result); }