docs: private Throwable mapException(EJSDeployedSupport s, RemoteException ex) //d135584
      {
          try
          {
              if (ex instanceof CSIException) {
                  CSIException csiex = (CSIException) ex;
                  return mapCSIException(s, csiex);
              }
              else if (ex.detail instanceof CSIException)
              {
                  CSIException csiex = (CSIException) ex.detail; //d177787
                  return mapCSIException(s, csiex);
              }
              else if (ex instanceof CreateFailureException)
              {
                  // For consistency, just map/return the CreateFailureException
                  // even if it contains an EJBException, as in most cases the
                  // EJBException would just be wrapped in a plain RemoteException,
                  // which CreateFailureException already is.                 d187050
                  // Since this is already a RemoteException, it only needs to be
                  // "mapped" if the method request is throught the ORB.       d228774
                  if (!s.ivWrapper.ivInterface.ivORB)
                  {
                      return ex;
                  }
  
                  return getOrbUtils().mapException(ex);
              }
              else if (ex instanceof BeanNotReentrantException &&
                       (s.ivWrapper.ivInterface == BUSINESS_RMI_REMOTE ||
                       s.ivWrapper.ivInterface == SERVICE_ENDPOINT)) // d350987
              {
                  // EJB 3.0 has defined an exception for this purpose.      d366807.6
                  // This mapping is only done for business interfaces to insure
                  // compatibility with EJB 2.1 clients.                        396839
                  BeanNotReentrantException bnre = (BeanNotReentrantException) ex;
                  EJBException caex = bnre.isTimeout() ? new ConcurrentAccessTimeoutException(ex.getMessage()) // d653777.1
                  : new ConcurrentAccessException(ex.getMessage());
                  caex.setStackTrace(ex.getStackTrace());
                  s.rootEx = caex;
                  return mapEJBException(s, caex);
              }
              else if (ex.detail instanceof EJBException)
              {
                  EJBException ejbex = (EJBException) ex.detail;
                  return mapEJBException(s, ejbex);
              }
              else
              {
                  // Since this is already a RemoteException, it only needs to be
                  // "mapped" if the method request is throught the ORB.       d228774
                  if (!s.ivWrapper.ivInterface.ivORB)
                  {
                      return ex;
                  }
  
                  return getOrbUtils().mapException(ex);
              }
          } catch (CSIException e)
          {
              FFDCFilter.processException(e, CLASS_NAME + ".mapException", "119", this);
              Tr.warning(tc, "UNABLE_TO_MAP_EXCEPTION_CNTR0013W"
                         , new Object[] { ex, e }); //p111002.5
              return ex;
          }
      }