ClassLoader workerClassLoader = new MutableURLClassLoader(filteredGroovy, ClasspathUtil.getClasspath(compiler.getClass().getClassLoader()));
try {
byte[] serializedWorker = GUtil.serialize(new Worker<T>(compiler, spec));
ClassLoaderObjectInputStream inputStream = new ClassLoaderObjectInputStream(new ByteArrayInputStream(serializedWorker), workerClassLoader);
Callable<?> worker = (Callable<?>) inputStream.readObject();
Object result = worker.call();
byte[] serializedResult = GUtil.serialize(result);
inputStream = new ClassLoaderObjectInputStream(new ByteArrayInputStream(serializedResult), getClass().getClassLoader());
return (CompileResult) inputStream.readObject();
} catch (Exception e) {