e.getfield(CALLBACK_FIELD);
e.invoke_interface(ENABLED,ENABLED_GET);
    private void addReadMethod(String name, Type type) {        CodeEmitter e = super.begin_method(Constants.ACC_PUBLIC,                                           readMethodSig(name, type.getDescriptor()),                                           null,                                           null);        e.load_this();        e.getfield(name);        e.load_this();        e.getfield(CALLBACK_FIELD);        Label intercept = e.make_label();        e.ifnonnull(intercept);        e.return_value();        e.mark(intercept);        Local result = e.make_local(type);        e.store_local(result);        e.load_this();        e.getfield(CALLBACK_FIELD);        e.load_this();        e.push(name);        e.load_local(result);        e.invoke_interface(CALLBACK, readCallbackSig(type));        if (!TypeUtils.isPrimitive(type)) {            e.checkcast(type);        }        e.return_value();        e.end_method();    }