code: def add_done_callback(self, func):
          
          if self._done is None or self._done.is_set():
              raise ValueError("Process is complete.")
          self._callbacks.append(func)
docs: Add callback function to be run once the long running operation
          has completed - regardless of the status of the operation.
  
          :param callable func: Callback function that takes at least one
           argument, a completed LongRunningOperation.
          :raises: ValueError if the long running operation has already
           completed.