<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)