protected static function getLeafNodesForListItem(MapListElement $listItem, array &$results) { if ($listItem instanceof MapFolder) { foreach ($listItem->categories() as $innerItem) { self::getLeafNodesForListItem($innerItem, $results); } } else { $results[] = $listItem; } }