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