'Empty the collection, firing a mutation event for each entity.'

def clear_with_event(self, initiator=None):

    remover = self._data()._sa_remover
    for item in list(self):
        remover(item, _sa_initiator=initiator)
