protected function checkPath()
    {
        if ($this->path === null) {
            return true;
        }

        $pathinfo = \UtilsPath();

        if (strpos($pathinfo, $this->path) === 0) {
            $this->currentPrefixPath = $this->path;
            return true;
        } else {
            $re = Regex::parse($this->path);

            if ($re !== false && preg_match('#^' . $re . '#', $pathinfo, $matches)) {
                $this->currentPrefixPath = $matches[0];

                array_shift($matches);

                $this->arguments = array_merge($this->arguments, $matches);

                return true;
            }
        }

        return false;
    }