public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Invocation invocation = new Invocation(method, args);
invocation.doTypeConversion();
IOReadableWritable retValue = this.client.call(invocation, this.address, method.getDeclaringClass());
if (retValue == null) {
return null;
}
else if (ClassUtils.isPrimitiveOrBoxedOrString(method.getReturnType())) {