try {
impl = loader.loadClass(srcName);
} catch (ClassNotFoundException e) { }
if (impl == null) {
byte[] bytecode = generateOptimized(srcName, ctor, factory);
impl = loader.loadAndResolve(srcName, bytecode);
}
try {
return (OptimizedValueInstantiator) impl.newInstance();
} catch (Exception e) {
throw new IllegalStateException("Failed to generate accessor class '"+srcName+"': "+e.getMessage(), e);