code: def result(self, timeout=None, retry=DEFAULT_RETRY):
          
          if self.state is None:
              self._begin(retry=retry)
          # TODO: modify PollingFuture so it can pass a retry argument to done().
          return super(_AsyncJob, self).result(timeout=timeout)
docs: Start the job and wait for it to complete and get the result.
  
          :type timeout: float
          :param timeout:
              How long (in seconds) to wait for job to complete before raising
              a :class:`concurrent.futures.TimeoutError`.
  
          :type retry: :class:`google.api_core.retry.Retry`
          :param retry: (Optional) How to retry the RPC.
  
          :rtype: _AsyncJob
          :returns: This instance.
  
          :raises:
              :class:`~google.cloud.exceptions.GoogleCloudError` if the job
              failed or :class:`concurrent.futures.TimeoutError` if the job did
              not complete in the given timeout.