public function getNext() { while ($this->queue->count() > 0) { $next = $this->queue->peek(); if ($next->isCancelled()) { $this->queue->dequeue(); } else { return $next; } } return null; }