code: def _create_optionvals_obj_from_values(cls, **kwargs):
          
          return OptionVals(
              kwargs.pop('max_levels'),
              kwargs.pop('use_specific'),
              kwargs.pop('apply_active_classes'),
              kwargs.pop('allow_repeating_parents'),
              kwargs.pop('use_absolute_page_urls'),
              kwargs.pop('add_sub_menus_inline', settings.DEFAULT_ADD_SUB_MENUS_INLINE),
              kwargs.pop('parent_page', None),
              kwargs.pop('handle', None),  # for AbstractFlatMenu
              kwargs.pop('template_name', ''),
              kwargs.pop('sub_menu_template_name', ''),
              kwargs.pop('sub_menu_template_names', None),
              kwargs  # anything left over will be stored as 'extra'
          )
docs: Takes all of the options passed to the class's ``render_from_tag()``
          method and returns them in a structure that can be conveniently
          referenced throughout the process of rendering.
  
          Any additional options supplied by custom menu tags will be available
          as a dictionary using the 'extra' key name. For example, when rendering
          a flat menu, the 'fall_back_to_default_site_menus' option passed to the
          tag is available as:
  
          .. code-block:: python
  
              option_vals.extra['fall_back_to_default_site_menus']