mw.visitTypeInsn(CHECKCAST, getType(method.getDeclaringClass())); // cast
mw.visitVarInsn(LLOAD, 2);
mw.visitMethodInsn(INVAKE_TYPE, getType(method.getDeclaringClass()), method.getName(), ASMUtils.getDesc(method));
mw.visitInsn(RETURN);
mw.visitMaxs(3, 4);
mw.visitEnd();
} else {
// public void setValue(Object object, Object value)
MethodVisitor mw = cw.visitMethod(ACC_PUBLIC, "setValue", "(" + getDesc(Object.class)
+ getDesc(Object.class) + ")V", null, null);