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); }