code: def observation(self, obs):
      try:
          augmentation = obs["augmentation"]
      except KeyError:
          augmentation = {}
          obs["augmentation"] = augmentation
  
      for k in obs["doc"]:
          try:
              aug_k = augmentation[k]
          except KeyError:
              aug_k = {}
              augmentation[k] = aug_k
  
          aug_k[self.KEY] = self.value_fn(obs["user"], obs["doc"][k])
  
      return obs
  
file_path: ReAgent/reagent/gym/envs/wrappers/recsim.py
imports: import copy
  import logging
  import gym
  import gym.spaces.dict
label_desc: Use image node_id 4 for calling the ValueWrapper obj's underlying member method code with example usage: obj.observation(obs) and returns: obs