if (c == null) {
Class[] signature = new Class[] { RubyKernel.IRUBY_OBJECT, Block.class };
Class ret = getReturnClass(method, signature);
ClassWriter cw = createCtor(mnamePath);
MethodVisitor mv = startCallS(cw);
mv.visitVarInsn(ALOAD, 3);
mv.visitMethodInsn(INVOKESTATIC, typePath, method, sig(ret, signature));
mv.visitInsn(ARETURN);
mv.visitMaxs(1, 3);
c = endCall(cw, mv, mname);
}