public Task HandleAsync(
     ISocketConnection connection,
     OperationMessage message,
     CancellationToken cancellationToken)
 {
     if (message is T m)
     {
         return(HandleAsync(connection, m, cancellationToken));
     }
     else
     {
         throw new NotSupportedException("The specified message type is not supported.");
     }
 }
 public bool CanHandle(OperationMessage message)
 {
     return(message is T m && CanHandle(m));
 }