code: public Throwable getPreviousException() throws ExceptionInstantiationException {
          Throwable ex = null;
          if (previousExceptionObject != null)
              return previousExceptionObject;
          if (previousException != null) {
              try {
                  final ByteArrayInputStream bais = new ByteArrayInputStream(previousException);
                  ObjectInputStream ois = (ObjectInputStream) AccessController.doPrivileged(new PrivilegedExceptionAction() {
                      @Override
                      public Object run() throws IOException {
                          return new ObjectInputStream(bais);
                      }
                  });
                  ex = (Throwable) ois.readObject();
              } catch (PrivilegedActionException pae) {
                  throw new ExceptionInstantiationException(pae.getException());
              } catch (Exception e) {
                  throw new ExceptionInstantiationException(e);
              }
          }
          return ex;
      }
docs: Retrieves the previous exception
  
  @exception com.ibm.websphere.exception.ExceptionInstantiationException
  An exception occurred while trying to instantiate an exception object.
  If this exception is thrown, the relevant information can be retrieved
  by using the getPreviousExceptionInfo() method.
  
  
  @return java.lang.Throwable