Used to ensure that
javassist.ClassPool.appendClassPath(javassist.ClassPath) is invoked
within a synchronized lock, and also handles tricky class loading issues (caused by the creation
of classes, and class loaders, at runtime).
Wrapper around Javassist's
javassist.ClassPool that manages the creation of new instances
of
javassist.CtClass and converts finished CtClass's into instantiable Classes.