in cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java [77:90]
public <T> T createInterceptorProxy(ClassLoader classLoader, Object target, Interceptor interceptor,
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 InterceptorBridge(target, interceptor), new EqualsHandler(),
new HashCodeHandler() });
@SuppressWarnings("unchecked") // type inference
final T result = (T) enhancer.create();
return result;
}