public IOutboundPerfomanceCounters GetOutboundCounters(string instanceName)
        {
            TransactionalOutboundPerformanceCounters counters;
            if (outboundCounters.TryGetValue(instanceName, out counters))
                return counters;

            lock (outboundCounters)
            {
                if (outboundCounters.TryGetValue(instanceName, out counters))
                    return counters;

                counters = new TransactionalOutboundPerformanceCounters();
                outboundCounters.Add(instanceName, counters);

                return counters;
            }
        }
        public IOutboundPerfomanceCounters GetOutboundCounters(string instanceName)
        {
            TransactionalOutboundPerformanceCounters counters;

            if (outboundCounters.TryGetValue(instanceName, out counters))
            {
                return(counters);
            }

            lock (outboundCounters)
            {
                if (outboundCounters.TryGetValue(instanceName, out counters))
                {
                    return(counters);
                }

                counters = new TransactionalOutboundPerformanceCounters();
                outboundCounters.Add(instanceName, counters);

                return(counters);
            }
        }