public override void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, IBasicProperties properties, byte[] body)
 {
     logger.LogDebug("got rabbitq message");
     if (!consumer.CanHandle())
     {
         this.Model.BasicNack(deliveryTag, false, true);
     }
     else
     {
         try
         {
             consumer.Handle(JsonUtil.FromBytes <Message>(body));
             this.Model.BasicAck(deliveryTag, false);
         }
         catch (Exception ex)
         {
             logger.LogError(ex, "Unable to handle message");
             this.Model.BasicNack(deliveryTag, false, true);
         }
     }
 }