code: func (f *fragment) WriteTo(w io.Writer) (n int64, err error) {
  	// Force cache flush.
  	if err := f.FlushCache(); err != nil {
  		return 0, errors.Wrap(err, "flushing cache")
  	}
  
  	// Write out data and cache to a tar archive.
  	tw := tar.NewWriter(w)
  	if err := f.writeStorageToArchive(tw); err != nil {
  		return 0, fmt.Errorf("write storage: %s", err)
  	}
  	if err := f.writeCacheToArchive(tw); err != nil {
  		return 0, fmt.Errorf("write cache: %s", err)
  	}
  	return 0, nil
  }
docs: // WriteTo writes the fragment's data to w.