code: public static void enrich(Throwable t, String updateMessage) {
      String newMessage = createMessage(t.getMessage(), updateMessage, t.getClass().getSimpleName());
      replace(t, newMessage);
    }
docs: Updates the detail message in the throwable to be the enriched message; note that there is an
  assumption that this will be caught and enriched and propogated by the same thread and thus we
  have no thread/visibility concerns.