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