code: private Throwable prepareFault()
          throws IOException
      {
          HashMap fault = readFault();
  
          Object detail = fault.get("detail");
          String message = (String) fault.get("message");
  
          if (detail instanceof Throwable) {
              _replyFault = (Throwable) detail;
  
              if (message != null && _detailMessageField != null) {
                  try {
                      _detailMessageField.set(_replyFault, message);
                  } catch (Throwable e) {
                  }
              }
  
              return _replyFault;
          }
  
          else {
              String code = (String) fault.get("code");
  
              _replyFault = new HessianServiceException(message, code, detail);
  
              return _replyFault;
          }
      }
docs: Prepares the fault.