public function normalize()
    {
        if ($this->isOpaque() || !$this->path) {
            return clone $this;
        } else {
            $uri = clone $this;

            $uri->path = self::normalizePath($this->path);
            return $uri;
        }
    }