anchor.diff:      // interfered with the transaction, or the server is gone.
       // Any exception thrown by a method other than commit() needs
       // to do a rollback to avoid leaking the transaction state.
  -    if(mgr.exists()) {
  -        mgr.rollback();
  +    if(txManager.exists()) {
  +        txManager.rollback();
       }       
   }
   ```
  
positive.code:     newBalance = (tradeBalance != null ? tradeBalance : 0) + purchase;
      trades.put(customer, newBalance);
  
      txmgr.commit();
      retryTransaction = false;
    } 
    catch (CommitConflictException conflict) {
  
negative.code:     Region<ProductId, Integer> inventoryRegion = rfc.getDataSet();
  
      CacheTransactionManager 
          txManager = context.getCache().getCacheTransactionManager();
  
      // single argument will be a ProductId and a quantity
      ProductRequest request = (ProductRequest) rfc.getArguments();
      ProductId productRequested = request.getProductId();
      Integer qtyRequested = request.getQuantity();
   
      boolean success = false;
  
      do {
        boolean commitConflict = false;
        try {
          txManager.begin();
  
          Integer qtyAvailable = inventoryRegion.get(productRequested);
          if (qtyAvailable >= qtyRequested) {
            // enough inventory is available, so process request
            Integer remaining = qtyAvailable - qtyRequested;
            inventoryRegion.put(productRequested, remaining);
            txManager.commit();
            success = true;
          } 
  
        } catch (CommitConflictException conflict) {
          // retry transaction, as another request on this same key succeeded,
          // so this transaction attempt failed
  