@Override
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block) {
if (self.callMethod(context, "__getobj__") != object) {
throw context.getRuntime().newNameError("object changed", "object changed");
}
return method.call(context, args, block);
}
}, self);
}
@JRubyMethod(name = "respond_to?")