public function pop()
{
$result = $this->getCollection()->findAndModify(['eta' => ['$lte' => time()]], [], ['item' => 1, '_id' => 0], ['remove' => 1, 'sort' => ['eta' => 1]]);
if ($result && array_key_exists('item', $result)) {
return $result['item'];
}
throw new NoItemAvailableException($this);
}