docs: def WriteBlobToFile(self, request):
      """Writes the blob to a file and returns its path."""
      # First chunk truncates the file, later chunks append.
      if request.offset == 0:
        mode = "w+b"
      else:
        mode = "r+b"
  
      temp_file = tempfiles.CreateGRRTempFile(
          filename=request.write_path, mode=mode)
      with temp_file:
        path = temp_file.name
        temp_file.seek(0, 2)
        if temp_file.tell() != request.offset:
          raise IOError("Chunks out of order Error.")
  
        # Write the new chunk.
        temp_file.write(request.executable.data)
  
      return path