docs: public void preOptimisticReplace(Transaction transaction)
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this
                          , cclass
                          , "preOptimisticReplace"
                          , new Object[] { transaction }
                              );
  
          testState(nextStateForOptimisticReplace); // Test the state change.
          // Bump the updateSequence to indicate the current version of the ManagedObject.
          // The caller must have synchronized on a lock on some Object to protect the 
          // ManagedObject from change while we serialize it. 
          // The updateSequence is only meaningful while that lock is held.
          updateSequence++;
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         "preOptimisticReplace");
      }