Class[] args = method.getParameterTypes();
    private void generateMethod(String fieldName, Method method, Method invokeSuper, Method afterReturn) {        Class[] args = method.getParameterTypes();        Class returnType = method.getReturnType();        boolean returnsValue = !returnType.equals(Void.TYPE);        int mod = method.getModifiers();        boolean isAbstract = Modifier.isAbstract(mod);        begin_method(method);        int outer_eh = begin_handler();        create_arg_array();        store_local("args");        aconst_null();        store_local("resultFromSuper");        push(0);        local_type("superInvoked", boolean.class);        store_local("superInvoked");        aconst_null();        store_local("error");                if (delegating || !isAbstract) {            load_this();            getfield(INTERCEPTOR_FIELD);            load_this();            getstatic(fieldName);            load_local("args");            invoke(invokeSuper);            ifeq("endif");            push(1);            store_local("superInvoked");            int eh = begin_handler();            load_this();            if (delegating) {                getfield(DELEGATE_FIELD);                load_args();                invoke(method);            } else {                load_args();                super_invoke();            }            if (returnsValue) {                box(returnType);                store_local("resultFromSuper");            }            goTo("endif");            end_handler();                        handle_exception(eh, Throwable.class);            store_local("error");            nop("endif");        }        load_this();        getfield(INTERCEPTOR_FIELD);        load_this();        getstatic(fieldName);        load_local("args");        load_local("superInvoked");        load_local("resultFromSuper");        load_local("error");        invoke(afterReturn);        /* generates:           if (result == null) {               return 0;           } else {               return ((Number)result).intValue();           }         */        return_zero_if_null();        end_handler();        generateHandleUndeclared(method, outer_eh);        end_method();    }