public IEnumerable<string> Find(string chars) { var result = new List<string>(); var wordChars = new WordCharacters(chars); foreach (var child in Children.Values) { child.Visit(wordChars.Clone(), result); } return result; }
internal void Visit(WordCharacters chars, List<string> results) { if (chars.Take(Current)) { if (IsWord) results.Add(chars.Word); foreach (var child in Children.Values) { child.Visit(chars.Clone(), results); } } }