code: func (t *ContainerVolumeTracker) Save(containerID, tempDir string, client *docker.Client) error {
  	if t == nil {
  		return nil
  	}
  	set := imagebuilder.VolumeSet{}
  	for dest := range t.paths {
  		set.Add(dest)
  	}
  	// remove archive paths that are covered by other paths
  	for dest := range t.paths {
  		if !set.Has(dest) {
  			t.ReleasePath(dest)
  			delete(t.paths, dest)
  		}
  	}
  	for dest, archivePath := range t.paths {
  		if len(archivePath) > 0 {
  			continue
  		}
  		archivePath, err := snapshotPath(dest, containerID, tempDir, client)
  		if err != nil {
  			return err
  		}
  		t.paths[dest] = archivePath
  	}
  	return nil
  }
docs: // Save ensures that all paths tracked underneath this container are archived or
  // returns an error.