code: func (s *store) Get(ctx context.Context, key string, resourceVersion string, out runtime.Object, ignoreNotFound bool) error {
  	key = path.Join(s.pathPrefix, key)
  	startTime := time.Now()
  	getResp, err := s.client.KV.Get(ctx, key, s.getOps...)
  	metrics.RecordEtcdRequestLatency("get", getTypeName(out), startTime)
  	if err != nil {
  		return err
  	}
  
  	if len(getResp.Kvs) == 0 {
  		if ignoreNotFound {
  			return runtime.SetZeroValue(out)
  		}
  		return storage.NewKeyNotFoundError(key, 0)
  	}
  	kv := getResp.Kvs[0]
  
  	data, _, err := s.transformer.TransformFromStorage(kv.Value, authenticatedDataString(key))
  	if err != nil {
  		return storage.NewInternalError(err.Error())
  	}
  
  	return decode(s.codec, s.versioner, data, out, kv.ModRevision)
  }
docs: // Get implements storage.Interface.Get.