code: def geturi(self):
          
          scheme, authority, path, query, fragment = self
  
          # RFC 3986 5.3. Component Recomposition
          result = []
          if scheme is not None:
              result.extend([scheme, self.COLON])
          if authority is not None:
              result.extend([self.SLASH, self.SLASH, authority])
          result.append(path)
          if query is not None:
              result.extend([self.QUEST, query])
          if fragment is not None:
              result.extend([self.HASH, fragment])
          return self.EMPTY.join(result)
docs: Return the re-combined version of the original URI reference as a
          string.