The classes that are generated for "XException" and "YException" differ in their extends-cause: XException extends from j.l.Exception while YException extends from j.lThrowable. This should both be the same.
class Test {
void test() throws XException {
throw new YException();
}
}