in cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java [96:108]
public <T> T createInvokerProxy(ClassLoader classLoader, Invoker invoker, 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 InvokerBridge(invoker), new EqualsHandler(), new HashCodeHandler() });
@SuppressWarnings("unchecked") // type inference
final T result = (T) enhancer.create();
return result;
}