/// <summary>
 /// Initializes a new instance of the type
 /// </summary>
 /// <param name="concurrencyPolicy">The concurrency policy the processor uses</param>
 /// <param name="poisonMonitor">If a poison message monitor is not provided to test for bad messages at startup the NoopPoisonMonitor instance will be used</param>
 public DemoProcessor(IConcurrencyPolicy concurrencyPolicy, ICheckpointPolicy checkpointPolicy, IPoisonedMonitor poisonMonitor = null) : base(checkpointPolicy, poisonMonitor)
 {
     _concurrencyPolicy = concurrencyPolicy;
 }
 /// <summary>
 /// Initializes a new instance of the type
 /// </summary>
 /// <param name="concurrencyPolicy">The concurrency policy the processor uses</param>
 /// <param name="messageInterval">The number of messages to process between checkpoint operations</param>
 /// <param name="timeInterval">The time to wait between checkpointing</param>
 /// <param name="poisonMonitor">If a poison message monitor is not provided to test for bad messages at startup the NoopPoisonMonitor instance will be used</param>
 public DemoProcessor(IConcurrencyPolicy concurrencyPolicy, int messageInterval, TimeSpan timeInterval, IPoisonedMonitor poisonMonitor = null) : base(messageInterval, timeInterval, poisonMonitor)
 {
     _concurrencyPolicy = concurrencyPolicy;
 }