/// <summary>
 /// Adds a definitions for a client streaming method.
 /// </summary>
 /// <typeparam name="TRequest">The request message class.</typeparam>
 /// <typeparam name="TResponse">The response message class.</typeparam>
 /// <param name="name">The method name.</param>
 /// <param name="handler">The method handler.</param>
 /// <returns>This builder instance.</returns>
 public Builder WithClientStreamingMethod <TRequest, TResponse>(string name, ClientStreamingMethodHandler <TRequest, TResponse> handler)
 {
     _callHandlers.Add(name, MethodCallHandlers.ClientStreaming(handler, _invocationFactory));
     return(this);
 }
 /// <summary>
 /// Adds a definitions for a single request - single response method.
 /// </summary>
 /// <typeparam name="TRequest">The request message class.</typeparam>
 /// <typeparam name="TResponse">The response message class.</typeparam>
 /// <param name="name">The method name.</param>
 /// <param name="handler">The method handler.</param>
 /// <returns>This builder instance.</returns>
 public Builder WithUnaryMethod <TRequest, TResponse>(string name, UnaryMethodHandler <TRequest, TResponse> handler)
 {
     _callHandlers.Add(name, MethodCallHandlers.Unary(handler, _invocationFactory));
     return(this);
 }