private void PublishMessageHandlerProc(ClientProxy clientProxy, PublishEventArgs dpea)
        {
            PublishMessageEventArg dpmea = (PublishMessageEventArg)dpea;

            clientProxy.CallBack.OnServerMessage(dpmea.Message, dpmea.MessageTimeUtc, dpmea.Response);
        }
        /// <summary>
        /// publish message to subscribers
        /// </summary>
        /// <param name="targetClientProxyMap">client to publish to, Guid.Empty to publish to all</param>
        /// <param name="message">text to publish</param>
        /// <param name="response"></param>
        public void PublishMessage(Dictionary <Guid, ClientProxy> targetClientProxyMap, string message, AsyncMethodResponse response)
        {
            PublishMessageEventArg pmea = new PublishMessageEventArg(DateTime.UtcNow, response, message);

            this.Publish(targetClientProxyMap, false, pmea, this.publishMessageHandler);
        }