synchronized (this) {
if (getLogger().isDebugEnabled()) {
getLogger().debug("Releasing old serverpage program [" + id + "]");
}
release(programInstance);
programmingLanguage.unload(program, normalizedName, this.workDir);
this.cache.removeGenerator(normalizedName);
programInstance = null;
program = null;
generateSourcecode(source, normalizedName, markupLanguage, programmingLanguage, resolver);