/// <summary>
 /// Reports the subscription message count.
 /// </summary>
 /// <param name="subscriber">The subscriber.</param>
 /// <param name="args">The <see cref="ElapsedEventArgs"/> instance containing the event data.</param>
 /// <param name="totalMessageCount">The total message count.</param>
 /// <param name="activeMessageCount">The active message count.</param>
 /// <param name="deadLetterMessageCount">The dead letter message count.</param>
 /// <param name="description">The description.</param>
 public void ReportSubscriptionMessageCount(
     ISubscriber subscriber,
     ElapsedEventArgs args,
     long totalMessageCount,
     long activeMessageCount,
     long deadLetterMessageCount,
     SubscriberDescription description)
 {
     if (args != null)
     {
         this.OnSubscriberMessageCount(
             subscriber,
             new SubscriberMessageCountEventArgs
                 {
                     SignalTime = args.SignalTime,
                     TotalMessageCount = totalMessageCount,
                     ActiveMessageCount = activeMessageCount,
                     DeadLetterMessageCount = deadLetterMessageCount,
                     SubscriberDescription = description
                 });
     }
 }
 /// <summary>
 /// The subscriber initialize.
 /// </summary>
 /// <param name="publisher">
 /// The publisher.
 /// </param>
 /// <param name="description">
 /// The description.
 /// </param>
 /// <returns>
 /// The <see cref="IDisposable"/>.
 /// </returns>
 public IDisposable SubscriberInitialize(ISubscriber publisher, SubscriberDescription description)
 {
     return GetActivityTracker(
         () =>
             {
                 var args = new SubscriberInitializingEventArgs { Description = description };
                 this.OnSubscriberInitializing(publisher, args);
             }, 
         t =>
             {
                 var args = new SubscriberInitializedEventArgs { Elapsed = t, Description = description };
                 this.OnSubscriberInitialized(publisher, args);
             });
 }