public void HandleApplicationEvent(object sender, ApplicationEventArgs e) { if(_eventTypes == null || _eventTypes.Count == 0) { SendEventAsMessage(e); return; } foreach(Type type in _eventTypes) { if(type.IsAssignableFrom(e.GetType())) { SendEventAsMessage(e); return; } } }