code: def load(self, validate=True):
          
          self._load()
          try:
              self.config = self._load_config(self.system_config_file)
              user = self._load_config(self.global_config_file)
              config = self._load_config(self.config_file)
              local = self._load_config(self.config_local_file)
  
              # NOTE: schema doesn't support ConfigObj.Section validation, so we
              # need to convert our config to dict before passing it to
              for conf in [user, config, local]:
                  self.config = self._merge(self.config, conf)
  
              if validate:
                  self.config = Schema(self.SCHEMA).validate(self.config)
  
              # NOTE: now converting back to ConfigObj
              self.config = configobj.ConfigObj(
                  self.config, write_empty_values=True
              )
              self.config.filename = self.config_file
              self._resolve_paths(self.config, self.config_file)
          except Exception as ex:
              raise ConfigError(ex)
docs: Loads config from all the config files.
  
          Args:
              validate (bool): optional flag to tell dvc if it should validate
                  the config or just load it as is. 'True' by default.
  
  
          Raises:
              dvc.config.ConfigError: thrown if config has invalid format.