public void Invoke <T1, T2>(IReadInvokeCallback <T1, T2> callback, T1 arg1, T2 arg2)
 {
     InvokeWrappedMethod(_factory.Wrap <T1, T2>(callback, arg1, arg2));
 }
 public void Invoke <T>(IReadInvokeCallback <T> callback, T state)
 {
     InvokeWrappedMethod(_factory.Wrap <T>(callback, state));
 }
 public void Invoke(IReadInvokeCallback callback)
 {
     InvokeWrappedMethod(_factory.Wrap(callback));
 }
 void IServerInvoker.Invoke <T1, T2>(IReadInvokeCallback <T1, T2> callback, T1 arg1, T2 arg2)
 {
     Contract.Requires(callback != null);
 }
 void IServerInvoker.Invoke <T>(IReadInvokeCallback <T> callback, T state)
 {
     Contract.Requires(callback != null);
 }
 void IServerInvoker.Invoke(IReadInvokeCallback callback)
 {
     Contract.Requires(callback != null);
 }