<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)