docs: private final static Throwable getNestedThrowable(Throwable t) {
          // This is the current list of Throwables that we know of that support nested
          // exceptions. Add to the list if more show up.
  
          // D200273
          // Throwables that support nested exceptions using getCause are not special any more since
          // in JDK1.4 that's what it's supposed to be called.
  
          //    if (t instanceof com.ibm.ws.exception.WsNestedException)					//D200273
          //       return ((com.ibm.ws.exception.WsNestedException)t).getCause();			//D200273
          Class<?> cName = t.getClass();
          if (cName.getName().equals("org.omg.CORBA.portable.UnknownException"))
              return (Throwable) getFieldValue(t, "originalEx");
          if (t instanceof java.rmi.RemoteException)
              return ((java.rmi.RemoteException) t).detail;
          if (t instanceof java.lang.reflect.InvocationTargetException)
              return ((java.lang.reflect.InvocationTargetException) t).getTargetException();
          if (t instanceof javax.naming.NamingException)
              return ((javax.naming.NamingException) t).getRootCause();
          // 131536 package javax.ejb doesnot exist.Implemented Reflection API.
  //        if (t instanceof javax.ejb.EJBException)
  //            return ((javax.ejb.EJBException)t).getCausedByException();
          if (cName.getName().equals("javax.ejb.EJBException"))
              return invokeMethod(t, "getCausedByException");
          if (t instanceof java.sql.SQLException)
              return ((java.sql.SQLException) t).getNextException();
          if (cName.getName().equals("javax.mail.MessagingException"))
              return invokeMethod(t, "getNextException");
          if (cName.getName().equals("org.xml.sax.SAXException"))
              return invokeMethod(t, "getException");
          //    if (t instanceof javax.xml.transform.TransformerException) 				//D200273
          //      return ((javax.xml.transform.TransformerException)t).getCause();		//D200273
          if (cName.getName().equals("javax.servlet.jsp.JspException"))
              return invokeMethod(t, "getCause");
          if (cName.getName().equals("javax.servlet.ServletException"))
              return invokeMethod(t, "getRootCause");
          if (cName.getName().equals("javax.resource.ResourceException"))
              return invokeMethod(t, "getCause");
          if (cName.getName().equals("javax.jms.JMSException"))
              return invokeMethod(t, "getLinkedException");
          if (t instanceof java.lang.reflect.UndeclaredThrowableException)
              return ((java.lang.reflect.UndeclaredThrowableException) t).getUndeclaredThrowable();
          if (t instanceof java.io.WriteAbortedException)
              return ((java.io.WriteAbortedException) t).detail;
          if (t instanceof java.rmi.server.ServerCloneException)
              return ((java.rmi.server.ServerCloneException) t).detail;
          if (t instanceof java.security.PrivilegedActionException)
              return ((java.security.PrivilegedActionException) t).getException();
          // These Exceptions are not used in WebSphere currently, or the contact has
          // indicated we shouldn't process them. Leave here as comments, in case this changes.
          /*
           * if (t instanceof java.lang.ClassNotFoundException)
           * return ((java.lang.ClassNotFoundException)t).getException();
           */
          return null;
      }