public SmsMessage Queue(SmsMessage message)
 {
     if (!_table.ContainsKey(message.Guid))
     {
         throw new InvalidOperationException();
     }
     if (!SmsMessage.ReferenceEquals(_table[message.Guid], message))
     {
         throw new ArgumentException();
     }
     _queue.Enqueue(message);
     return(message);
 }