parameters: (self, scheme=misc.UseExisting, authority=misc.UseExisting,
                    path=misc.UseExisting, query=misc.UseExisting,
                    fragment=misc.UseExisting)
return_statement: return uri
docstring: Create a copy of this reference with the new components.
  
          :param str scheme:
              (optional) The scheme to use for the new reference.
          :param str authority:
              (optional) The authority to use for the new reference.
          :param str path:
              (optional) The path to use for the new reference.
          :param str query:
              (optional) The query to use for the new reference.
          :param str fragment:
              (optional) The fragment to use for the new reference.
          :returns:
              New URIReference with provided components.
          :rtype:
              URIReference
docstring_summary: Create a copy of this reference with the new components.
docstring_tokens: Create a copy of this reference with the new components .
function: def copy_with(self, scheme=misc.UseExisting, authority=misc.UseExisting,
                    path=misc.UseExisting, query=misc.UseExisting,
                    fragment=misc.UseExisting):
          """Create a copy of this reference with the new components.
  
          :param str scheme:
              (optional) The scheme to use for the new reference.
          :param str authority:
              (optional) The authority to use for the new reference.
          :param str path:
              (optional) The path to use for the new reference.
          :param str query:
              (optional) The query to use for the new reference.
          :param str fragment:
              (optional) The fragment to use for the new reference.
          :returns:
              New URIReference with provided components.
          :rtype:
              URIReference
          """
          attributes = {
              'scheme': scheme,
              'authority': authority,
              'path': path,
              'query': query,
              'fragment': fragment,
          }
          for key, value in list(attributes.items()):
              if value is misc.UseExisting:
                  del attributes[key]
          uri = self._replace(**attributes)
          uri.encoding = self.encoding
          return uri
function_tokens: def copy_with ( self , scheme = misc . UseExisting , authority = misc . UseExisting , path = misc . UseExisting , query = misc . UseExisting , fragment = misc . UseExisting ) : attributes = { 'scheme' : scheme , 'authority' : authority , 'path' : path , 'query' : query , 'fragment' : fragment , } for key , value in list ( attributes . items ( ) ) : if value is misc . UseExisting : del attributes [ key ] uri = self . _replace ( * * attributes ) uri . encoding = self . encoding return uri