mv.visitJumpInsn(IFEQ, notInstanceOfRuntimeExceptionLabel);
// throw existing runtime exception (by casting it)
mv.visitVarInsn(ALOAD, methodArg);
mv.visitTypeInsn(CHECKCAST, "java/lang/RuntimeException");
mv.visitInsn(ATHROW);
// build Runtime exception with given exception
mv.visitLabel(notInstanceOfRuntimeExceptionLabel);
mv.visitTypeInsn(NEW, "java/lang/RuntimeException");
mv.visitInsn(DUP);