public TReply Send <TRequest, TReply>(TRequest message) where TRequest : IMessageRequest where TReply : IMessageReply { IMessageHandlerWithReply <TRequest, TReply> messageHandler = factory.Create <TRequest, TReply>(); if (messageHandler == null) { throw new UnregisteredMessageException(); } return(messageHandler.Handle(message)); }