staticTopLoader = builder.getParent();
List<Sources> sourcesLayers = builder.getSourcesLayers();
codeLayers = new LinkedList<Code>();
for (Sources sources : sourcesLayers) {
CompilerFactory compilerFactory = sources.getCompilerFactory();
Code code = compilerFactory.newCompiler(staticTopLoader).compile(sources);
codeLayers.add(code);
staticTopLoader = new BytecodeClassLoader(staticTopLoader, builder.getLoadMode(), code);
}
// set code layers in builder so that the builder
// can be reused without recompiling (e.g. for clone())