1 - Run while adding new referenced class.
2 -- Running sayHi before redefinition
3Hello from TestClass sayHi function
4Goodbye from TestClass!
5 -- Adding NewClass to classloader!
6 -- Redefine the TestClass
7 -- call TestClass again, now with NewClass refs
8Hello again from TestClass sayHi function
9Hello from NewClass sayHi function
10Nearby stack:
11	private static native art.StackTrace$StackFrameData[] art.StackTrace.nativeGetStackTrace(java.lang.Thread)(line: -1)
12	public static art.StackTrace$StackFrameData[] art.StackTrace.GetStackTrace(java.lang.Thread)(line: 61)
13	static void foobar.NewClass.sayHi() throws java.lang.Exception(line: 27)
14	public static void foobar.TestClass.sayHi()(line: 5)
15 - Run without adding new referenced class.
16 -- Running sayHi before redefinition
17Hello from TestClass sayHi function
18Goodbye from TestClass!
19 -- Redefine the TestClass
20 -- call TestClass again, now with NewClass refs
21Hello again from TestClass sayHi function
22 -- Exception caught when running test without new class added! java.lang.NoClassDefFoundError
23 --- java.lang.NoClassDefFoundError At foobar.TestClass.sayHi(TestClass.java:5)
24