docs: def update_selection_sm_prior(self):
          """State machine prior update of tree selection"""
          if self._do_selection_update:
              return
          self._do_selection_update = True
          tree_selection, selected_model_list, sm_selection, sm_selected_model_list = self.get_selections()
          if tree_selection is not None:
              for path, row in enumerate(self.list_store):
                  model = row[self.MODEL_STORAGE_ID]
                  if model not in sm_selected_model_list and model in selected_model_list:
                      tree_selection.unselect_path(Gtk.TreePath.new_from_indices([path]))
                  if model in sm_selected_model_list and model not in selected_model_list:
                      tree_selection.select_path(Gtk.TreePath.new_from_indices([path]))
  
          self._do_selection_update = False