code: public static <T extends Throwable> T printHistoryAndReturnThrowable(final T th, final Printer printer) {
          printHistory(th, printer);
          return th;
      }
docs: Print Exception messages without stack trace in non debug mode. Method prints recursive all messages of the given exception stack to get a history overview of the causes. In verbose mode (app
  -v) the stacktrace is printed in the end of history.
  
  @param <T> Exception type
  @param th exception stack to print.
  @param printer the message printer to use.
  @return the related Throwable returned for further exception handling.