This class is used to create a tree structure of objects. Each element in the tree is also a key to the next node down in the tree. It provides many ways to add objects and branches, as well as many ways to retrieve.
HashTree implements the Map interface for convenience reasons. The main difference between a Map and a HashTree is that the HashTree organizes the data into a recursive tree structure, and provides the means to manipulate that structure.
Of special interest is the {@link #traverse(HashTreeTraverser)} method, whichprovides an expedient way to traverse any HashTree by implementing the {@link HashTreeTraverser} interface in order to perform some operation on thetree, or to extract information from the tree.
@see HashTreeTraverser
@see SearchByClass