code: def keywords(self, key, values):
      
      keywords = self.get('keywords', [])
      energy_ranges = self.get('energy_ranges', [])
  
      for value in force_list(values):
          if value.get('a'):
              schema = force_single_element(value.get('2', '')).upper()
              sources = force_list(value.get('9'))
  
              a_values = force_list(value.get('a'))
  
              if 'conference' not in sources:
                  for a_value in a_values:
                      keywords.append({
                          'schema': schema,
                          'source': force_single_element(sources),
                          'value': a_value,
                      })
  
          if value.get('e'):
              energy_ranges.append(ENERGY_RANGES_MAP.get(value.get('e')))
  
      self['energy_ranges'] = energy_ranges
      return keywords
docs: Populate the ``keywords`` key.
  
      Also populates the ``energy_ranges`` key through side effects.