code: public void optimisticReplaceLogged(Transaction transaction)
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this
                          , cclass
                          , "optimisticReplaceLogged"
                          , "transaction=" + transaction + "(Transaction)"
                              );
  
          // By default does nothing, unless overridden. 
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this
                         , cclass
                         , "optimisticReplaceLogged"
                              );
      }
docs: A subclass may override this method to do its own optimisticReplace processing after the log
  has been written.For the ManagedObject to get this call it must have been on the Notify
  list when Transaction.optimisticReplace() was invoked.
  
  @param transaction controling the replacement.
  @throws ObjectManagerException