code: def extra_configuration_collection(self, configuration):
          
          aws_syncr_spec = AwsSyncrSpec()
          registered = {}
          directory = pkg_resources.resource_filename("aws_syncr", "option_spec")
  
          for location in sorted(os.listdir(directory)):
              import_name = os.path.splitext(location)[0]
              if import_name != '__pycache__':
                  try:
                      args = imp.find_module(import_name, [directory])
                  except ImportError as error:
                      raise BadImport(directory=directory, importing=import_name, error=error)
  
                  try:
                      module = imp.load_module(import_name, *args)
                  except SyntaxError as error:
                      raise BadImport(directory=self.directory, importing=self.import_name, error=error)
  
                  if hasattr(module, "__register__"):
                      registered.update(module.__register__())
  
          configuration['__registered__'] = [name for _, name in sorted(registered.keys())]
          by_name = dict((r[1], registered[r]) for r in registered)
          for thing in ['aws_syncr', 'accounts', 'templates'] + list(by_name.keys()):
              def make_converter(thing):
                  def converter(p, v):
                      log.info("Converting %s", p)
                      meta = Meta(p.configuration, [(thing, "")])
                      configuration.converters.started(p)
                      if thing in by_name:
                          return by_name[thing].normalise(meta, v)
                      else:
                          return getattr(aws_syncr_spec, "{0}_spec".format(thing)).normalise(meta, v)
                  return converter
              configuration.add_converter(Converter(convert=make_converter(thing), convert_path=[thing]))
docs: Hook to do any extra configuration collection or converter registration