in src/main/java/org/apache/maven/plugins/dependency/tree/BuildingDependencyNodeVisitor.java [82:105]
public boolean visit(DependencyNode node) {
// clone the node
WrapperNode newNode = new WrapperNode(
parentNodes.isEmpty() ? null : parentNodes.peek(),
node.getArtifact(),
node.getPremanagedVersion(),
node.getPremanagedScope(),
node.getVersionConstraint(),
node.getOptional(),
node.getExclusions(),
node.toNodeString());
newNode.setChildren(new ArrayList<>());
if (parentNodes.empty()) {
rootNode = newNode;
} else {
DependencyNode parentNode = parentNodes.peek();
parentNode.getChildren().add(newNode);
}
parentNodes.push(newNode);
return true;
}