code: public static String generateExceptionString(Throwable t, String delim) {
  
          StringBuffer sb = new StringBuffer();
  
          if (t != null) {
  
              sb.append(t.toString());
  
              Throwable nextThrowable = getNextThrowable(t);
  
              if (nextThrowable != null) {
                  sb.append(delim);
                  sb.append(generateExceptionString(getNextThrowable(t), delim));
              }
          }
  
          return sb.toString();
      }
docs: <P> Generates a string which consists of the toStrings() of the provided Exception and any linked or chained
  exceptions and initial causes.
  
  @param t The first exception in the chain
  @param delim The character which will be used to deliminate exceptions.
  
  @return a string which includes all the toStrings() of the linked exceptions.