Using blockingQueue.take() instead of poll