e.push(method.getDeclaringClass().getName());
    public void generate(ClassEmitter ce, final Context context) {        for (Iterator it = context.getMethods(); it.hasNext();) {            Method method = (Method)it.next();            if (Modifier.isProtected(method.getModifiers())) {                // ignore protected methods            } else {                CodeEmitter e = ce.begin_method(context.getModifiers(method),                                                ReflectUtils.getSignature(method),                                                ReflectUtils.getExceptionTypes(method),                                                null);                context.emitCallback(e, context.getIndex(method));                e.push(method.getDeclaringClass().getName());                e.invoke_interface(DISPATCHER, LOAD_OBJECT);                e.checkcast(Type.getType(method.getDeclaringClass()));                e.load_args();                e.invoke(method);                e.return_value();                e.end_method();            }        }    }