* Invoked at object creation, or when there are updates to class files (i.e., invalidation), to create a new set of
* Javassist class pools and loaders.
*/
private void initializeService()
{
ClassFactoryClassPool classPool = new ClassFactoryClassPool(parent);
// For TAPESTRY-2561, we're introducing a class loader between the parent (i.e., the
// context class loader), and the component class loader, to try and prevent the deadlocks
// that we've been seeing.
ClassLoader threadDeadlockBuffer = new URLClassLoader(new URL[0], parent);
loader = new PackageAwareLoader(threadDeadlockBuffer, classPool);
ClassPath path = new LoaderClassPath(loader);
classPool.appendClassPath(path);
classSource = new CtClassSourceImpl(classPool, loader);
try
{