code: def _get_download_url(self):
          
          name_value_pairs = []
          if self.media_link is None:
              base_url = _DOWNLOAD_URL_TEMPLATE.format(path=self.path)
              if self.generation is not None:
                  name_value_pairs.append(("generation", "{:d}".format(self.generation)))
          else:
              base_url = self.media_link
  
          if self.user_project is not None:
              name_value_pairs.append(("userProject", self.user_project))
  
          return _add_query_parameters(base_url, name_value_pairs)
docs: Get the download URL for the current blob.
  
          If the ``media_link`` has been loaded, it will be used, otherwise
          the URL will be constructed from the current blob's path (and possibly
          generation) to avoid a round trip.
  
          :rtype: str
          :returns: The download URL for the current blob.