A reflection peer for executing actions remotely, instead of on the local machine. Any calls to
execute
are passed over the network to the server for invocation. There are two cases where the request is not passed to the server, ie it is executed locally: 1) where the method is static, ie is on the class rather than an instance; 2) if the instance is not persistent; 3) if the method is marked as 'local'. If a method is marked as being 'remote' then static methods and methods on transient objects will be passed to the server.
If any of the objects involved have been changed on the server by another process then a ConcurrencyException will be passed back to the client and re-thrown.