'Called by the ApplyResult object (already registered via
register_result()) that it is now ready (ie. the Job\'s result
is available or an exception has been raised).
\param apply_result ApplyResult object telling us that the job
has been processed'

def notify_ready(self, apply_result):

    first_item = False
    self._cond.acquire()
    try:
        self._collection.append(apply_result)
        first_item = (len(self._collection) == 1)
        self._cond.notifyAll()
    finally:
        self._cond.release()
    if (first_item and (self._to_notify is not None)):
        self._to_notify._set_value(iter(self))
