public QueueMessageRemover(MessageQueue <TMessage> queue)
 {
     this.queue = queue;
 }
 protected virtual IQueueMessageRemover <TMessage> GetQueueRemover(MessageQueue <TMessage> queue)
 {
     return(new QueueMessageRemover <TMessage>(queue));
 }