public static TAstElement Descendant <TAstElement>(this IAstElement ancestor) where TAstElement : IAstElement { Argument.RequireNotNull("ancestor", ancestor); return(ancestor.Descendants <TAstElement>().SingleOrDefault()); }
public static IEnumerable <TAstElement> Descendants <TAstElement>(this IAstElement ancestor) where TAstElement : IAstElement { Argument.RequireNotNull("ancestor", ancestor); return(ancestor.Descendants().OfType <TAstElement>()); }