docs: def load(self, filename, create = None, default_conf = {}):
          """Load the config file
  
          Args:
              filename (str): the filename of the config, without any path
              create (str): if the config file not found, and this parameter is not None,
                            a config file will be create with content of default_conf
              default_conf (dict): content of the default config data
  
          Returns:
              Return value of the ConfigFormatter.decode or the default_conf value
  
          Raises:
              ConfigFileNotFoundException: if the config file not found
  
          """
          filenames, tries = self.__search_config_files(filename)
  
          if len(filenames):
              self.__loaded_config_file = filenames if self.__nested else filenames[0]
              return self.__load_config_files(filenames if self.__nested else filenames[:1])
  
          if create is not None:
              self.__loaded_config_file = os.path.join(create, filename)
              self.save(default_conf)
              return default_conf
  
          raise ConfigFileNotFoundException("Config file not found in: %s" % tries)