code: func (w *watchCache) WaitUntilFreshAndGet(resourceVersion uint64, key string, trace *utiltrace.Trace) (interface{}, bool, uint64, error) {
  	err := w.waitUntilFreshAndBlock(resourceVersion, trace)
  	defer w.RUnlock()
  	if err != nil {
  		return nil, false, 0, err
  	}
  	value, exists, err := w.store.GetByKey(key)
  	return value, exists, w.resourceVersion, err
  }
docs: // WaitUntilFreshAndGet returns a pointers to <storeElement> object.