static void traverse(
Object node,
HierarchicalTreeVisitor visitor,
ProjectPath parentPath) {
ProjectPath path = parentPath != null
? parentPath.appendToPath(node)
: new ProjectPath(node);
if (visitor.onStartNode(path)) {
ClassTraversalDescriptor descriptor = getDescriptor(node.getClass());
Class<?>[] childTypes = descriptor.getTraversableChildTypes();