public function add($method, $name, $path, $controller = null, array $requirements = [],
                        array $options = [], $host = '', array $schemas = [], $condition = '')
    {
        if (!in_array(strtoupper($method), $this->allowedMethod)) {
            throw new HttpMethodNotAllowedException();
        }
        $this->routes->add(
            $name,
            new Route(
                $this->prefix . $path,
                ['_controller' => $controller],
                $requirements,
                $options,
                $host,
                $schemas,
                [strtoupper($method)],
                $condition
            )
        );
        return $this;
    }