def METHOD_NAME(self):
    """Normalize this reference as described in Section 6.2.2.
    This is not an in-place normalization. Instead this creates a new
    URIReference.
    :returns: A new reference object with normalized components.
    :rtype: URIReference
    """
    # See http://tools.ietf.org/html/rfc3986#section-6.2.2 for logic in
    # this method.
    return URIReference(
        normalizers.normalize_scheme(self.scheme or ""),
        normalizers.normalize_authority(
            (self.userinfo, self.host, self.port)
        ),
        normalizers.normalize_path(self.path or ""),
        normalizers.normalize_query(self.query),
        normalizers.normalize_fragment(self.fragment),
        self.encoding,
    )