public void EndTransaction(uint numberOfCancel = 0) { foreach (var tempMessage in _tempMessages) { if ((numberOfCancel--) > 0) tempMessage.Dispose(); else _messages.Enqueue(tempMessage); } _tempMessages.Clear(); _transaction = false; }