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