public function toUriString(Scheme $scheme = null)
    {
        $normalized_port = $this->normalizePortAgainstScheme($scheme);

        $uri_string = (string) $normalized_port;

        if (!is_null($normalized_port)) {
            $uri_string = ":" . $uri_string;
        }

        return $uri_string;
    }