code: public static <T extends Throwable> void printHistory(final String message, final T th, final PrintStream stream) {
          printHistory(new CouldNotPerformException(message, th), new SystemPrinter(stream));
      }
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. The given message and the exception are bundled as new CouldNotPerformException and further processed.
  
  @param <T> Exception type
  @param message the reason why this exception occurs.
  @param th the exception cause.
  @param stream the stream used for printing the message history e.g. System.out or. System.err