/// <summary>
 /// Initializes a new instance of the <see cref="RedisQueueMonitor" /> class.
 /// </summary>
 /// <param name="clearMessagesFactory">The clear messages factory.</param>
 /// <param name="heartBeatFactory">The heart beat factory.</param>
 /// <param name="delayedProcessing">The delayed processing.</param>
 public RedisQueueMonitor(IClearExpiredMessagesMonitor clearMessagesFactory,
                          IHeartBeatMonitor heartBeatFactory,
                          IDelayedProcessingMonitor delayedProcessing)
 {
     Guard.NotNull(() => clearMessagesFactory, clearMessagesFactory);
     Guard.NotNull(() => heartBeatFactory, heartBeatFactory);
     _heartBeatFactory     = heartBeatFactory;
     _clearMessagesFactory = clearMessagesFactory;
     _delayedProcessing    = delayedProcessing;
     _monitors             = new List <IMonitor>(3);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RedisQueueMonitor" /> class.
 /// </summary>
 /// <param name="clearMessagesFactory">The clear messages factory.</param>
 /// <param name="heartBeatFactory">The heart beat factory.</param>
 /// <param name="delayedProcessing">The delayed processing.</param>
 public RedisQueueMonitor(IClearExpiredMessagesMonitor clearMessagesFactory,
     IHeartBeatMonitor heartBeatFactory,
     IDelayedProcessingMonitor delayedProcessing)
 {
     Guard.NotNull(() => clearMessagesFactory, clearMessagesFactory);
     Guard.NotNull(() => heartBeatFactory, heartBeatFactory);
     _heartBeatFactory = heartBeatFactory;
     _clearMessagesFactory = clearMessagesFactory;
     _delayedProcessing = delayedProcessing;
     _monitors = new List<IMonitor>(3);
 }