protected static function getCategoryNodesForItem(MapFolder $item) {
        $nodes = array();
        foreach ($item->getListItems() as $innerItem) {
            if ($innerItem instanceof MapFolder && $innerItem instanceof MapListElement) {
                $node = array(
                    'title' => $innerItem->getTitle(),
                    'id' => $innerItem->getCategory(),
                    //'subtitle' => $innerItem->getSubtitle(),
                    );

                $subcategories = self::getCategoryNodesForItem($innerItem);
                if ($subcategories) {
                    $node['subcategories'] = $subcategories;
                }

                $nodes[] = $node;
            }
        }
        return $nodes;
    }