Fixes to java-side error reporting from SI

Now it reports underlying exceptions without eating them as TargetInvocationException. Maybe it can help with SmallObject conversion exceptions, but this is not tested.