private void OnMessageReceived(object sender, PipelineMessageEventArgs e)
 {
     try {
         PipelineMessage message = e.Message;
         ExtractMessageTargets(ref message);
         PluginObject.PersistingMessage(message);
         PersistMessage(message);
         PluginObject.PersistedMessage(message);
     }
     catch (Exception ex) {
         Logger.LogError(ex, ex.ToString());
     }
 }