public function getAutoNodeRoutesRecursive(NodeInterface &$node, $base = null, &$routeObjects = array())
    {

        $route = $this->getAutoNodeRoute($node);

        if($route) {


            $route->setRoute(
                $base ? $base . '/' . util::slugify($node->getName())
                    : $this->generateAutoNodeRoute($node)->getRoute()
            );

            // add soft Increment
            $route->setRoute($route->getRoute().$this->softIncrement($route, $routeObjects));


            $routeObjects[] = $route;


            // recursive loop
            foreach ($node->getNodes() as $subnode) {
                if($subnode instanceof RoutableNodeInterface)
                    $this->getAutoNodeRoutesRecursive($subnode, $this->getAutoNodeRoute($node)->getRoute(), $routeObjects);
            }
        }


        return $routeObjects;
    }