code: def _get_recursive_state(widget, store=None, drop_defaults=False):
      
      if store is None:
          store = dict()
      state = widget._get_embed_state(drop_defaults=drop_defaults)
      store[widget.model_id] = state
  
      # Loop over all values included in state (i.e. don't consider excluded values):
      for ref in _find_widget_refs_by_state(widget, state['state']):
          if ref.model_id not in store:
              _get_recursive_state(ref, store, drop_defaults=drop_defaults)
      return store
docs: Gets the embed state of a widget, and all other widgets it refers to as well