String message = new String(body);
try {
Object newMsg = filter(message);
// if newSgw == null, that means the message has been filtered.
if (newMsg != null) {
deliverPush(new Deliver(newMsg, new BroadcasterFuture<Object>(newMsg), message), true);
}
} catch (Throwable t) {
logger.error("failed to push message: " + message, t);
}
}