public override TMatch Match <TMatch>(OnDisconnectedCallback <TMatch> disconnected, OnExpectedReplyCallback <TMatch> expectedReply, OnUnexpectedReplyCallback <TMatch> unexpectedReply, OnUnsolicitedEventCallback <TMatch> unsolicitedEvent, OnErrorCallback <TMatch> error)
 {
     return(disconnected(this));
 }
 public override void Match(OnDisconnectedCallback disconnected, OnExpectedReplyCallback expectedReply, OnUnexpectedReplyCallback unexpectedReply, OnUnsolicitedEventCallback unsolicitedEvent, OnErrorCallback error)
 {
     disconnected(this);
 }
 public virtual bool OnExpectedReply(OnExpectedReplyCallback callback)
 {
     return(false);
 }
 public abstract TMatch Match <TMatch>(OnDisconnectedCallback <TMatch> disconnected, OnExpectedReplyCallback <TMatch> expectedReply, OnUnexpectedReplyCallback <TMatch> unexpectedReply, OnUnsolicitedEventCallback <TMatch> unsolicitedEvent, OnErrorCallback <TMatch> error);
 public abstract void Match(OnDisconnectedCallback disconnected, OnExpectedReplyCallback expectedReply, OnUnexpectedReplyCallback unexpectedReply, OnUnsolicitedEventCallback unsolicitedEvent, OnErrorCallback error);
 public override bool OnExpectedReply(OnExpectedReplyCallback callback)
 {
     callback(this);
     return(true);
 }