cw.visitField(ACC_PRIVATE | ACC_FINAL, "self", ci(IRubyObject.class), null, null).visitEnd();
// create constructor
SkinnyMethodAdapter initMethod = new SkinnyMethodAdapter(cw.visitMethod(ACC_PUBLIC, "<init>", sig(void.class), null, null));
initMethod.aload(0);
initMethod.invokespecial(p(Object.class), "<init>", sig(void.class));
// wrap self and store the wrapper
initMethod.aload(0);
initMethod.getstatic(name, "ruby", ci(Ruby.class));
initMethod.aload(0);