'Yield all L{CooperativeTask} objects in a loop as long as this
L{Cooperator}\'s termination condition has not been met.'

def _tasksWhileNotStopped(self):

    terminator = self._terminationPredicateFactory()
    while self._tasks:
        for t in self._metarator:
            (yield t)
            if terminator():
                return
        self._metarator = iter(self._tasks)
