public function withQueryString(?string $queryString = null): UrlInterface
    {
        if (!self::myValidateQueryString($queryString, $error)) {
            throw new UrlInvalidArgumentException($error);
        }

        return new self($this->myScheme, $this->myHost, $this->myPort, $this->myPath, $queryString, $this->myFragment);
    }