code: func (c *Cacher) GuaranteedUpdate(
  	ctx context.Context, key string, ptrToType runtime.Object, ignoreNotFound bool,
  	preconditions *storage.Preconditions, tryUpdate storage.UpdateFunc, _ ...runtime.Object) error {
  	// Ignore the suggestion and try to pass down the current version of the object
  	// read from cache.
  	if elem, exists, err := c.watchCache.GetByKey(key); err != nil {
  		klog.Errorf("GetByKey returned error: %v", err)
  	} else if exists {
  		currObj := elem.(*storeElement).Object.DeepCopyObject()
  		return c.storage.GuaranteedUpdate(ctx, key, ptrToType, ignoreNotFound, preconditions, tryUpdate, currObj)
  	}
  	// If we couldn't get the object, fallback to no-suggestion.
  	return c.storage.GuaranteedUpdate(ctx, key, ptrToType, ignoreNotFound, preconditions, tryUpdate)
  }
docs: // GuaranteedUpdate implements storage.Interface.