static class PersistableThrowable { S className; S msg; *() {} *(Throwable e) { if (e == null) className = "Crazy Null Error"; else { className = getClassName(e).replace('/', '.'); msg = e.getMessage(); } } public S toString() { ret nempty(msg) ? className + ": " + msg : className; } }