final byte[] sourceBytes = reader.getBytes(pSourceName);
final Object[] classes = compiler.compileToClassFiles(new String(sourceBytes), getName(pSourceName), 1, pClassName);
final GeneratedClassLoader loader = pContext.createClassLoader(pContext.getApplicationClassLoader());
Class<?> clazz = null;
for (int i = 0; i < classes.length; i += 2) {
final String clazzName = (String) classes[i];
final byte[] clazzBytes = (byte[]) classes[i+1];
store.write(clazzName.replace('.', '/') + ".class", clazzBytes);
Class<?> c = loader.defineClass(clazzName, clazzBytes);
loader.linkClass(c);
if (i == 0) {
clazz = c;
}