If the message matches the criteria specified by the MessageFilter implementation,
the message is returned (passed through) and in turn routed to next part of the flow.
If the message matches the criteria specified by the MessageFilter implementation,
the message is returned (passed through) and in turn routed to next part of the flow.
If the message does not match the criteria, return null; route the message to a discarded
message channel.