for (Iterator<MessageReference> i = list.iterator(); i.hasNext();) {
MessageReference ref = i.next();
Message msg;
try {
msg = ref.getMessage();
if (filter.matches(msg.getDestination())) {
result.add(msg);
}
} catch (IOException e) {
LOG.error("Failed to get Message from MessageReference: " + ref, e);
}