classesDir = new File(cache.getBaseDir(), scriptBaseClass.getSimpleName());
}
if (!cache.isValid() || !classesDir.exists()) {
scriptCompilationHandler.compileToDir(source, classLoader, classesDir, transformer, scriptBaseClass);
cache.markValid();
}
Class<? extends T> scriptClass = scriptCompilationHandler.loadFromDir(source, classLoader, classesDir,
scriptBaseClass);
return scriptBaseClass.cast(ReflectionUtil.newInstance(scriptClass, new Object[0]));
}