A Trie implementation which includes substring, prefix and exact search of strings. Also supports a Trie<T> which can be used with custom objects