private GroupElement getNextElement() { while (currentBatch.hasNext()) { Map.Entry<String, TrackingQueue> currentQueueEntry = currentBatch.next(); TrackingQueue queue = currentQueueEntry.getValue(); String queueName = currentQueueEntry.getKey(); Element element = queue.take(consumerId); if (element != null) { return new GroupElement(queueName, element); } } return null; }