code: protected void resetState(int recoveredState)
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this, cclass
                          , "resetState"
                          , "recoveredState=" + recoveredState + "(int) " + stateNames[recoveredState] + "(String)"
                              );
          switch (recoveredState) {
  
              case (stateActivePersistent):
                  setState(nextStateForInvolvePersistentObject);
                  break;
  
              case (statePrePreparedPersistent):
                  setState(nextStateForPrePrepare);
                  break;
  
              case (statePreparedPersistent):
                  setState(nextStateForPrepare);
                  break;
  
              case (stateCommitingPersistent):
                  setState(nextStateForStartCommit);
                  break;
  
              case (stateBackingOutPersistent):
                  setState(nextStateForStartBackout);
                  break;
  
              default:
  
          } // switch (recoveredState)
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this, cclass
                         , "resetState"
                              );
      }
docs: <p> Reset the state of a transaction. Used During recovery processing of
  TransactionOptimisticReplaceLogRecord to indicate that a transaction must commit or must backout.
  Also use by TransactionCheckpointLogRecord to reinstate the transaction state.
  
  @param recoveredState the transaction state that was reciorded in the logRecord.
  </p>