new iterator to encapsulate blockingQueue handling