docs: def with_updated_configuration(self, options=None,
                                     attribute_options=None):
          """
          Returns a context in which this mapping is updated with the given
          options and attribute options.
          """
          new_cfg = self.__configurations[-1].copy()
          if not options is None:
              for o_name, o_value in iteritems_(options):
                  new_cfg.set_option(o_name, o_value)
          if not attribute_options is None:
              for attr_name, ao_opts in iteritems_(attribute_options):
                  for ao_name, ao_value in iteritems_(ao_opts):
                      new_cfg.set_attribute_option(attr_name, ao_name, ao_value)
  #        upd_cfg = type(new_cfg)(options=options,
  #                                attribute_options=attribute_options)
  #        new_cfg.update(upd_cfg)
          return MappingConfigurationContext(self, new_cfg)