code: func decode(codec runtime.Codec, versioner storage.Versioner, value []byte, objPtr runtime.Object, rev int64) error {
  	if _, err := conversion.EnforcePtr(objPtr); err != nil {
  		panic("unable to convert output object to pointer")
  	}
  	_, _, err := codec.Decode(value, nil, objPtr)
  	if err != nil {
  		return err
  	}
  	// being unable to set the version does not prevent the object from being extracted
  	versioner.UpdateObject(objPtr, uint64(rev))
  	return nil
  }
docs: // decode decodes value of bytes into object. It will also set the object resource version to rev.
  // On success, objPtr would be set to the object.