@Override
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) {
IRubyObject proxy = oldNew.call(context, self, clazz, "new_proxy", arg0, arg1, arg2, block);
if (!(proxy.dataGetStruct() instanceof JavaObject)) { // Need to initialize
RuntimeHelpers.invoke(context, proxy, "__jcreate!", arg0, arg1, arg2, block);
}
return proxy;
}