public Message next() {
		if(packetIter != null) {
			activePacket = packetIter.next();
		} else {
			if(activePacket == null) {
				activePacket = singlePacket;
			} else {
				activePacket = null;
			}
		}
		if(activePacket == null) {
			throw new IllegalStateException("Call to 'Inbox.next', even though hasNext() returned false.");
		}
		return activePacket.message;
	}