public function withHost($host)
    {
        if (false) {
            // Invalid hostname ?
            throw new InvalidArgumentException('Hostname is not valid.');
        }

        $uri = clone $this;
        $uri->host = $host;

        return $uri;
    }