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