public TransactionSimulator(IResource resource, IResourceManager resourceMgr)
     throws ACIDException {
   String id = "nc1";
   transactionProvider = new TransactionSubsystem(id, null);
   transactionManager = transactionProvider.getTransactionManager();
   logManager = transactionProvider.getLogManager();
   lockManager = transactionProvider.getLockManager();
   recoveryManager = transactionProvider.getRecoveryManager();
   transactionProvider
       .getTransactionalResourceRepository()
       .registerTransactionalResourceManager(resourceMgr.getResourceManagerId(), resourceMgr);
   this.resourceMgr = resourceMgr;
   this.logger = resource.getLogger();
   this.resource = resource;
   memLSN = LogUtil.getDummyLogicalLogLocator(transactionProvider.getLogManager());
 }