public function getAddedLeafNodesRecursive()
{
$leaf_nodes = array();
foreach ($this->comparison->getNodes() as $node) {
if ($node instanceof TreeNode) {
if ($this->base->hasNodeNamed($node->getName())) {
$base_tree = $this->base->getNodeNamed($node->getName())->getTree();
} else {
$base_tree = new Tree();
}
$diff = new TreeDiff($base_tree, $node->getTree());
foreach ($diff->getAddedLeafNodesRecursive() as $leaf_node) {
$leaf_nodes[$node->getName() . '/' . $leaf_node->getName()] = $leaf_node;
}
} else {
if (!$this->base->hasNodeNamed($node->getName())) {
$leaf_nodes[$node->getName()] = $node;
}
}
}
return $leaf_nodes;
}