code: func (ts *Store) GetID(key string) (string, error) {
  	hash, err := types.NewHash(key)
  	if err != nil {
  		return "", err
  	}
  	images, err := acirenderer.CreateDepListFromImageID(*hash, ts.store)
  	if err != nil {
  		return "", err
  	}
  
  	var keys []string
  	for _, image := range images {
  		keys = append(keys, image.Key)
  	}
  	imagesString := strings.Join(keys, ",")
  	h := sha512.New()
  	h.Write([]byte(imagesString))
  	return "deps-" + hashToKey(h), nil
  }
docs: // GetID calculates the treestore ID for the given image key.
  // The treeStoreID is computed as an hash of the flattened dependency tree
  // image keys. In this way the ID may change for the same key if the image's
  // dependencies change.