code: def experiment(self, key, values):
      
      experiment = self.get('experiment', {})
      legacy_name = self.get('legacy_name', '')
      accelerator = self.get('accelerator', {})
      institutions = self.get('institutions', [])
  
      for value in force_list(values):
          if value.get('c'):
              experiment['value'] = value.get('c')
          if value.get('d'):
              experiment['short_name'] = value.get('d')
  
          if value.get('a'):
              legacy_name = value.get('a')
  
          if value.get('b'):
              accelerator['value'] = value.get('b')
  
          institution = {}
          if value.get('u'):
              institution['value'] = value.get('u')
          if value.get('z'):
              record = get_record_ref(maybe_int(value.get('z')), 'institutions')
              if record:
                  institution['curated_relation'] = True
                  institution['record'] = record
          institutions.append(institution)
  
      self['legacy_name'] = legacy_name
      self['accelerator'] = accelerator
      self['institutions'] = institutions
      return experiment
docs: Populate the ``experiment`` key.
  
      Also populates the ``legacy_name``, the ``accelerator``, and the
      ``institutions`` keys through side effects.