protected function getItemsRecursivelyWithDepth($items, $depth = 0)
{
$results = array();
foreach ($items as $item) {
$results[$depth][] = $item;
$subItems = $item->getChildren()->getChildren();
foreach ($this->getItemsRecursivelyWithDepth($subItems, $depth + 1) as $childrenDepth => $children) {
foreach ($children as $child) {
$results[$childrenDepth][] = $child;
}
}
}
return $results;
}