def METHOD_NAME(self, job_config):
    configs_to_save = {}
    self.base_project_dir = os.path.join("projects", job_config.base_dir)
    self.base_run_dir = os.path.join("runs", job_config.base_dir)
    for config_sets in job_config.task_group:
        overwrite_config = job_config.task_group[config_sets]
        if (
            overwrite_config.task_list is None
            or len(overwrite_config.task_list) == 0
        ):
            print(
                "[warning]",
                job_config.task_group,
                "has no task_list specified.")
        # we don't want this added to a final config.
        task_list = overwrite_config.pop("task_list", None)
        for config_file in task_list:
            config_file_path = os.path.join(
                self.base_project_dir, config_file)
            config = recursive_config(config_file_path)
            # overwrite it.
            if overwrite_config:
                config = OmegaConf.merge(config, overwrite_config)
            overwrite_dir(config, self.run_dir, basedir=self.base_run_dir)
            save_file_path = os.path.join(self.project_dir, config_file)
            configs_to_save[save_file_path] = config
    return configs_to_save