final Class[] interfaces, final Callbacks callbacks,
Class[] interfaces, final Callback callback,
    private static Object enhanceHelper(Class cls,                                        final Class[] interfaces,                                        final Callbacks callbacks,                                        ClassLoader loader,                                        final Method wreplace,                                        final CallbackFilter filter) {//         if (callbacks == null) {//             throw new IllegalArgumentException("MethodInterceptor is null");//         }        final Class base = (cls == null) ? Object.class : cls;        Object key = KEY_FACTORY.newInstance(base, interfaces, wreplace, filter);        return cache.get(loader, key, new FactoryCache.AbstractCallback() {                public BasicCodeGenerator newGenerator() {                    return new EnhancerGenerator(base, interfaces, wreplace, filter, callbacks);                }                public Object newInstance(Object factory, boolean isNew) {                    if (isNew) {                        ((Factory)factory).callbacks(callbacks);                        return factory;                    } else {                        return ((Factory)factory).newInstance(callbacks);                    }                }            });    }