internal void CommitTransaction()
{
if (TransactionStack.Count == 0)
{
throw new InvalidOperationException("ActionManager.CommitTransaction was called when there is no open transaction (TransactionStack is empty). Please examine the stack trace of this exception to find code which called CommitTransaction one time too many. Normally you don't call OpenTransaction and CommitTransaction directly, but use using(var t = Transaction.Create(Root)) instead.");
}
ITransaction transaction = TransactionStack.Pop();
if (transaction.AccumulatingAction.Count > 0)
{
RecordAction(transaction.AccumulatingAction);
}
}