private function analysis():\ArrayIterator
    {
        $apps = $this->getApplist();
        $routing = new \ArrayIterator();
        foreach ($apps as $one => $values) {
            $mercure = new Routing($values->name, (isset($values->prefix)? $values->prefix : ""), $this->is_base);
            $mercure->routingRegister();
            $appmercure = $mercure->routes();
            $apppublic = array();
            foreach ($appmercure as $mercure => $valk) {
                if ($valk['visibility'] == "public") {
                    array_push($apppublic, array("name" => $valk['routename'],
                        "path" => $valk['path'], "params" => $valk['params']?? ""));
                }
            }
            $routing->append(array($values->name => $apppublic));
        }
        return ($routing);
    }