Could we do `throw new RuntimeException(msg, e);` so as not to swallow the cause?