code: def StartTaskStorage(self):
      
      if self._storage_type != definitions.STORAGE_TYPE_SESSION:
        raise IOError('Unsupported storage type.')
  
      if self._task_storage_path:
        raise IOError('Task storage path already exists.')
  
      output_directory = os.path.dirname(self._output_file)
      self._task_storage_path = tempfile.mkdtemp(dir=output_directory)
  
      self._merge_task_storage_path = os.path.join(
          self._task_storage_path, 'merge')
      os.mkdir(self._merge_task_storage_path)
  
      self._processed_task_storage_path = os.path.join(
          self._task_storage_path, 'processed')
      os.mkdir(self._processed_task_storage_path)
docs: Creates a temporary path for the task storage.
  
      Raises:
        IOError: if the storage type is not supported or
            if the temporary path for the task storage already exists.
        OSError: if the storage type is not supported or
            if the temporary path for the task storage already exists.