else {
final Map lastMessagePointersPerContainer = new HashMap();
//remove up to this message
boolean found = false;
QueueListEntry queueEntry = messagePtrs.getFirstEntry();
while (queueEntry != null) {
final MessagePointer pointer = (MessagePointer) queueEntry.getElement();
messagePtrs.remove(queueEntry);
lastMessagePointersPerContainer.put(pointer.getContainer(), pointer);
unconsumedMessagesDispatched.decrement();