/**
  * Interface for the Queue.
  *
  * @param \Varien_Object $queueEvent
  * @return bool
  */
 public function assignSerialsFromQueue(Varien_Object $queueEvent)
 {
     $queueItem = $queueEvent->getQueueItem();
     if ($queueItem->testAndSetLock()) {
         $orderItem = Mage::getModel('sales/order_item')->load($queueEvent->getOrderItemId());
         $downloadableCollection = Mage::getModel('ecodes/downloadable')->getCollection();
         $downloadableCollection->setInfo('queue_item', $queueItem);
         if ($downloadableCollection->assignSerials($orderItem)) {
             $queueItem->releaseLock(Gorilla_Queue_Model_Queue::STATUS_SUCCESS);
             return $this;
         }
         $queueItem->releaseLock(Gorilla_Queue_Model_Queue::STATUS_OPEN);
     }
 }