docs: def select_item(self, items):
          """ Select an items. This adds `items` to the set of selected items. """
          if not items:
              return
          elif not hasattr(items, "__iter__"):
              items = (items,)
          selection_changed = False
          with self._suppress_selection_events():
              for item in items:
                  self.queue_draw_item(item)
                  if item is not None and item.model not in self._selection:
                      self._selection.add(item.model)
                      selection_changed = True
          if selection_changed:
              self.emit('selection-changed', self._get_selected_items())