':param src_url: The url object to use as "template" for the new one
:return: An instance of URL with the same data as original_url_object
This is a "constructor" for the URL class.'

@classmethod
def from_URL(cls, src_url_obj):

    scheme = (src_url_obj.get_protocol() or u'')
    netloc = (src_url_obj.get_domain() or u'')
    path = (src_url_obj.get_path() or u'')
    params = (src_url_obj.get_params() or u'')
    fragment = (src_url_obj.get_fragment() or u'')
    encoding = src_url_obj.encoding
    qs = copy.deepcopy(src_url_obj.querystring)
    data = (scheme, netloc, path, params, '', fragment)
    url_str = urlparse.urlunparse(data)
    new_url = cls(url_str, encoding)
    new_url.querystring = qs
    return new_url
