CacheSPI<Object, Object> cache1 = srtl.cache1;
CacheSPI<Object, Object> cache2 = srtl.cache2;
FooClassLoader cl1 = new FooClassLoader(Thread.currentThread().getContextClassLoader());
Region r1 = cache1.getRegion(aop, false) == null ? cache1.getRegion(aop, true) : cache1.getRegion(aop, false);
r1.registerContextClassLoader(cl1);
FooClassLoader cl2 = new FooClassLoader(Thread.currentThread().getContextClassLoader());
Region r2 = cache2.getRegion(aop, false) == null ? cache2.getRegion(aop, true) : cache2.getRegion(aop, false);
r2.registerContextClassLoader(cl2);
Class clazz = cl1.loadFoo();