<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def apply_config_file(self, filename):
 """ Add options from config file to self.values Leave alone existing values that are not an instance of Default """

        def extractor(template, options):
            """Ignore things that are existing non default values"""
            for name, val in options:
                normalised = self.normalise_key(name)
                if normalised in self.values and not isinstance(self.values[normalised], Default):
                    continue
                else:
                    yield name, val

        items = json.load(open(filename)).items()
        self.use_options(items, extractor)