/// ------------------------------------------------------------------------------------ private IEnumerable <LocTreeNode <T> > GetLeafNodesOfNode(LocTreeNode <T> node) { foreach (var childNode in node.Nodes.Cast <LocTreeNode <T> >()) { if (AllLeafNodes.Contains(childNode)) { yield return(childNode); } else { foreach (var leafNode in GetLeafNodesOfNode(childNode)) { yield return(leafNode); } } } }