if (Proxy.class.isAssignableFrom(getSuperclass())) {
if (isProxy()) {
    private void generateAroundMethod(Method method, String fieldName, String accessName, boolean forcePublic) {        int modifiers = getDefaultModifiers(method);        if (forcePublic) {            modifiers = (modifiers & ~Modifier.PROTECTED) | Modifier.PUBLIC;        }        begin_method(method, modifiers);        Object handler = begin_handler();        load_this();        getfield(INTERCEPTOR_FIELD);        dup();        ifnull("null_interceptor");        load_this();        getfield(fieldName);        create_arg_array();        getfield(accessName);        invoke(AROUND_ADVICE);        if (Proxy.class.isAssignableFrom(getSuperclass())) {            unbox(method.getReturnType());        } else {            unbox_or_zero(method.getReturnType());        }        return_value();        nop("null_interceptor");        load_this();        load_args();        super_invoke(method);        return_value();        end_handler();        generateHandleUndeclared(method, handler);        end_method();    }