public List<IMessageFilter> filters = new ArrayList<IMessageFilter>();
// do filter chain
public Message doFilterChain(Message message) {
Message messageResult = null;
for (int i = 0; i < filters.size(); i++) {
messageResult = filters.get(i).doMessageFilter(message);
if (messageResult != null) {
return messageResult;// if one filter can deal the message,then do it!so,it can be returned!
}