in cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java [58:71]
public <T> T createDelegatorProxy(ClassLoader classLoader, ObjectProvider<?> targetProvider,
Class<?>... proxyClasses)
{
final Enhancer enhancer = new Enhancer();
enhancer.setClassLoader(classLoader);
enhancer.setInterfaces(toInterfaces(proxyClasses));
enhancer.setSuperclass(getSuperclass(proxyClasses));
enhancer.setCallbackFilter(CALLBACKFILTER);
enhancer.setCallbacks(new Callback[] { new ObjectProviderDispatcher(targetProvider), new EqualsHandler(),
new HashCodeHandler() });
@SuppressWarnings("unchecked") // type inference
final T result = (T) enhancer.create();
return result;
}