docs: def handle_new_selection(self, items):
          """ Determines the selection
  
          The selection is based on the previous selection, the currently pressed keys and the passes newly selected items
  
          :param items: The newly selected item(s)
          """
          if items is None:
              items = ()
          elif not hasattr(items, "__iter__"):
              items = (items,)
          models = set(item.model for item in items)
          self._selection.handle_new_selection(models)