public void RollbackInternal()
        {
            if (HasBeenCommitted)
            {
                throw new SoftwareException("Transaction has already been committed.");
            }

            InternalTransaction.Rollback();
            HasBeenRolledBack = true;
        }