code: def _do_resumable_upload(self, stream, metadata, num_retries):
          
          upload, transport = self._initiate_resumable_upload(
              stream, metadata, num_retries
          )
  
          while not upload.finished:
              response = upload.transmit_next_chunk(transport)
  
          return response
docs: Perform a resumable upload.
  
          :type stream: IO[bytes]
          :param stream: A bytes IO object open for reading.
  
          :type metadata: dict
          :param metadata: The metadata associated with the upload.
  
          :type num_retries: int
          :param num_retries: Number of upload retries. (Deprecated: This
                              argument will be removed in a future release.)
  
          :rtype: :class:`~requests.Response`
          :returns: The "200 OK" response object returned after the final chunk
                    is uploaded.