code: def _load(self):
          
          for attr_name, config_prop in self._iter_config_props():
              found = False
              for loader in self._loaders:
                  if loader.exists(config_prop.property_key):
                      raw_value = loader.get(config_prop.property_key)
                      converted_value = config_prop.load(raw_value)
  
                      self._set_instance_prop(attr_name, config_prop, converted_value)
                      found = True
                      break
  
              if not found:
                  if not config_prop.required or config_prop.default is not None:
                      self._set_instance_prop(attr_name, config_prop, config_prop.default)
                  else:
                      raise ValueError('Missing required ConfigProperty {}'.format(attr_name))
docs: Load values for all ConfigProperty attributes