TypeUtils.getSignature(setters[i]),
ReflectUtils.getSignature(setters[i]),
        public void generateClass(ClassVisitor v) {            Type targetType = Type.getType(target);            ClassEmitter ce = new ClassEmitter(v);            ce.begin_class(Constants.ACC_PUBLIC,                           getClassName(),                           targetType,                           null,                           Constants.SOURCE_FILE);            ce.declare_field(Constants.ACC_FINAL | Constants.ACC_PRIVATE, FIELD_NAME, targetType, null, null);            CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, CSTRUCT_OBJECT, null, null);            e.load_this();            e.super_invoke_constructor();            e.load_this();            e.load_arg(0);            e.checkcast(targetType);            e.putfield(FIELD_NAME);            e.return_value();            e.end_method();            PropertyDescriptor[] descriptors = ReflectUtils.getBeanProperties(target);            Method[] getters = ReflectUtils.getPropertyMethods(descriptors, true, false);            Method[] setters = ReflectUtils.getPropertyMethods(descriptors, false, true);            for (int i = 0; i < getters.length; i++) {                e = ce.begin_method(Constants.ACC_PUBLIC,                                    TypeUtils.getSignature(getters[i]),                                    TypeUtils.getTypes(getters[i].getExceptionTypes()),                                    null);                e.load_this();                e.getfield(FIELD_NAME);                e.invoke(getters[i]);                e.return_value();                e.end_method();            }            for (int i = 0; i < setters.length; i++) {                e = ce.begin_method(Constants.ACC_PUBLIC,                                    TypeUtils.getSignature(setters[i]),                                    null,                                    null);                e.throw_exception(ILLEGAL_STATE_EXCEPTION, "Bean is immutable");                e.end_method();            }            ce.end_class();        }