code: public void updateXIDToRolledback(PersistentTranId xid) 
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "updateXIDToRolledback", "XID="+xid);
  
          if (_deferredException == null)
          {
              // We are rolling back a transaction. This should only be 
              // applied to prepared transactions as single-phase rollbacks
              // should not get as far as the persistence layer.
              if (_state == STATE_PREPARED)
              {
                  _state = STATE_ROLLINGBACK;
              }
              else
              {
                  _deferredException = new PersistenceException("Cannot ROLLBACK batch as it not in the correct state! State="+_stateToString[_state]);
              }
          }
          else
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "No work attempted as an exception has already been thrown during this batch!");
          }
          
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "updateXIDToRolledback");
      }
docs: In the OM implementation this method is used to flag the batching
  context so that upon the next call to executeBatch the OM transaction
  being used is rolled back. This call is only valid after an
  addIndoubtXid/executeBatch pair have been called i.e. a prepare
  has occurred.
  
  @param xid