IRubyObject args, IRubyObject argTypes, int dispatchType) {
RubyArray argsArray = args.convertToArray();
int dispatchId = (int) RubyInteger.num2long(dispid);
Object[] objectArgs = makeObjectArgs(argsArray);
int[] errorArgs = makeErrorArgs(objectArgs.length);
Variant returnValue = dispatch.invoke(dispatchId, dispatchType,
objectArgs, errorArgs);
return fromVariant(context.getRuntime(), returnValue);
}