def _filter_pending_updates(self):
        """
        Return all the updates that need to be applied, from a list of all the 
        updates that were called while the hold was active.  This method is 
        meant to be overridden by subclasses that want to customize how held 
        updates are applied.

        The `self._pending_updates` member variable is a list containing a 
        (method, args, kwargs) tuple for each update that was called while 
        updates were being held.  This list is in the order that the updates 
        were actually called, and any updates that were called more than once 
        will appear in this list more than once.
        
        This method should yield or return an list of the tuples in the same 
        format representing the updates that should be applied, in the order 
        they should be applied.  The default implementation filters out 
        duplicate updates without changing their order.  In cases where it 
        matters, the last call to each update is used to determine the order.
        """
        from more_itertools import unique_everseen as unique
        yield from reversed(list(unique(reversed(self._pending_updates))))
Return all the updates that need to be applied, from a list of all the 
        updates that were called while the hold was active.  This method is 
        meant to be overridden by subclasses that want to customize how held 
        updates are applied.

        The `self._pending_updates` member variable is a list containing a 
        (method, args, kwargs) tuple for each update that was called while 
        updates were being held.  This list is in the order that the updates 
        were actually called, and any updates that were called more than once 
        will appear in this list more than once.
        
        This method should yield or return an list of the tuples in the same 
        format representing the updates that should be applied, in the order 
        they should be applied.  The default implementation filters out 
        duplicate updates without changing their order.  In cases where it 
        matters, the last call to each update is used to determine the order.