public IEnumerable <LcrsTrie> EndOfWordNodes() { if (EndOfWord) { yield return(this); } if (LeftChild != null) { foreach (var node in LeftChild.EndOfWordNodes()) { yield return(node); } } if (RightSibling != null) { foreach (var node in RightSibling.EndOfWordNodes()) { yield return(node); } } }