docs: private void postInvokeRolledbackException(EJSDeployedSupport s, CSITransactionRolledbackException ex) throws RemoteException {
          //---------------------------------------------------------------
          // Check to see if the application requested that this transaction
          // be rolled back. If so, we can report no exception so suppress
          // the rollback exception here.
          // Only applies if the beginner bean called setRollbackOnly
          // during the business method.                            d186801
          // Or, if the beginner threw an Application Exception     d199884
          // Except, don't supress for ejbTimeout.                LI2281.07
          //---------------------------------------------------------------
  
          //d140003.19 d186801
          if ((!s.ivBeginnerSetRollbackOnly &&
               (!s.began ||
                s.exType != ExceptionType.CHECKED_EXCEPTION))
              ||
              s.methodInfo.ivInterface == MethodInterface.TIMED_OBJECT) { //90514;;
                                                                                                                                                                             //d140003.19
              final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); // d532639.2
              if (isTraceOn && tc.isEventEnabled())
                  Tr.event(tc, "postInvoke: transaction rollback in finally",
                           ex); //93496
  
              // If an exception occurred during beforeCompletion, then override
              // the cause set by TranStrategy since that one will contain
              // superfluous RuntimeException wrappers.          d109641.1 d616849.2
              if (s.currentTx != null &&
                  s.currentTx.ivPostProcessingException != null) {
                  // If there was an exception during post processing
                  // (commit), then set it as an unchecked exception.
                  // This will not override any exception that occurred
                  // during the bean method.        PQ90221 d219086 d219086.1
                  s.getExceptionMappingStrategy().setUncheckedException(s, s.currentTx.ivPostProcessingException);
                  ex.detail = s.getRootCause();
              } else if (ex.detail == null) {
                  ex.detail = s.getRootCause();//d140003.19
              }
              //d171654 make sure CSITRBException root cause not overwritten
              else {
                  //d174358.1---------->
                  Throwable exceptionToUse = s.getRootCause();//d140003.19
  
                  if (exceptionToUse == null) {
                      s.rootEx = s.getExceptionMappingStrategy().findRootCause(ex.detail);
                  } else {
                      // we have a checked or unchecked so use that per spec
                      ex.detail = exceptionToUse;
                  }
                  //<----------d174358.1
              } //<--------d171654
  
              // Perform standard exception mapping using the exception
              // mapping utilities (just like EJSDeployedSupport). This
              // will wrap the CSI exception in a
              // TransactionRolledBackException, which is the exception
              // required by the EJB spec, then that will be mapped to
              // a CORBA TRANSACTION_ROLLEDBACK exception, as required
              // by the ORB.  The ORB should convert the
              // TRANSACTION_ROLLEDBACK to a TransactionRolledBackException
              // on the client.  Note that the root cause will be lost,
              // but will be embeded as part of the message text.  d109641.1
              Exception crex = s.mapCSITransactionRolledBackException(ex); //d140003.19             // d113344
  
              // The above result should always be a TRANSACTION_ROLLEDBACK,
              // but this is coded just in case mapException is changed in
              // the future.                                       d109641.1
              if (crex instanceof RemoteException)
                  throw (RemoteException) crex;
              else if (crex instanceof RuntimeException)
                  throw (RuntimeException) crex;
          }
      }