private static Class<?> compileWrapperClass(SubjectFactory<?, ?> subjectFactory) {
IteratingWrapperClassBuilder builder = new IteratingWrapperClassBuilder(subjectFactory);
String out = builder.build().toString();
ClassLoader classLoader;
try {
classLoader = new CompilingClassLoader(
subjectFactory.getSubjectClass().getClassLoader(), builder.className, out, null);
} catch (CompilerException e) {
throw new Error("Could not compile class " + builder.className + " with source:\n" + out , e);
}
try {