public static IEnumerable<AutomationElement> Descendants(this AutomationElement element)
 {
     var result = new AutomationElement[1024];
     element.FindAll(TreeScope.Descendants, System.Windows.Automation.Condition.TrueCondition).CopyTo(result, 0);
     return result.TakeWhile(e => e != null).ToArray();
 }