static RuntimeException rethrowAndAppendToMessage(Throwable t, S msg) { S haveMsg = t.getMessage(); if (empty(msg) || endsWith(haveMsg, " " + msg)) throw rethrow(t); throw new RuntimeException(joinWithSpace(t.getMessage(), msg), t); }