protected virtual void MessageHandler(object sender, BuildMessageEventArgs messageEvent) { if (messageEvent == null) throw new ArgumentNullException("messageEvent"); // NOTE: This may run on a background thread! QueueOutputEvent(messageEvent.Importance, messageEvent); }