A class providing different algorithms for traversing a hierarchy of configuration nodes.
The methods provided by this class accept a {@link ConfigurationNodeVisitor}and visit all nodes in a hierarchy starting from a given root node. Because a {@link NodeHandler} has to be passed in, too, arbitrary types of nodes can beprocessed. The {@code walk()} methods differ in the order in which nodes arevisited. Details can be found in the method documentation.
An instance of this class does not define any state; therefore, it can be shared and used concurrently. The {@code INSTANCE} member field can be usedfor accessing a default instance. If desired (e.g. for testing purposes), new instances can be created.
@version $Id: NodeTreeWalker.java 1624601 2014-09-12 18:04:36Z oheger $
@since 2.0