> Loader cl = new Loader(pool);
Well, this lets the system class loader load
"className" from the disk. Thus the unmodified
class will be loaded.
If the above line is removed,
This call should return the java.lang.Class object
representing the modified class.
> Foo foo = new Foo();
But this statement lets the system class loader load
the unmodified class.
A key thing is that you have to use javassist.Loader
for loading the modified class.