code: def CheckTaskReadyForMerge(self, task):
      
      if self._storage_type != definitions.STORAGE_TYPE_SESSION:
        raise IOError('Unsupported storage type.')
  
      if not self._processed_task_storage_path:
        raise IOError('Missing processed task storage path.')
  
      processed_storage_file_path = self._GetProcessedStorageFilePath(task)
  
      try:
        stat_info = os.stat(processed_storage_file_path)
      except (IOError, OSError):
        return False
  
      task.storage_file_size = stat_info.st_size
      return True
docs: Checks if a task is ready for merging with this session storage.
  
      If the task is ready to be merged, this method also sets the task's
      storage file size.
  
      Args:
        task (Task): task.
  
      Returns:
        bool: True if the task is ready to be merged.
  
      Raises:
        IOError: if the storage type is not supported or
        OSError: if the storage type is not supported or
            if the temporary path for the task storage does not exist.