public MessageReference next() { try { PListEntry entry = iterator.next(); Message message = getMessage(entry.getByteSequence()); message.getMessageId().setPlistLocator(entry.getLocator()); return message; } catch (IOException e) { LOG.error("I/O error", e); throw new RuntimeException(e); } }