void MessageReceivedWrapper(object sender, MessageReceivedArgs e) { MessageReceivedHandler eh = received_handler; if (eh == null) { return; } foreach (MessageReceivedHandler d in eh.GetInvocationList()) { if (e.RetVal != null && (Response)e.RetVal != Response.Passthrough) { break; } d(sender, e); } }