In Class.getCallingClass0(), we must handle the special case of code like this:
In Class.getCallingClass0(), we must handle the special case of code like this:

    Class c = Class.class;
    Method m = c.getMethod("forName", new Class[] { String.class });
    c = (Class)m.invoke(c, new Object[] { "Class2" });

If we didn't, then forName() would detect java.lang.reflect.Method
as the calling class and always use the system ClassLoader for Class2.
To deal with this, we skip over java.lang.reflect.Method.invoke().

kaffe/kaffe,kaffe/kaffe,kaffe/kaffe,kaffe/kaffe,kaffe/kaffe