ContextProviderThreadPair IContextMap.this[int tid]
 {
     get
     {
         ContextProviderThreadPair ret = null;
         _map.TryGetValue(tid, out ret);
         return(ret);
     }
 }
        IContextProvider IContextMap.Remove(int id)
        {
            IContextProvider ret = null;


            if (_map.ContainsKey(id))
            {
                ContextProviderThreadPair tmp = null;
                _map.TryRemove(id, out tmp);
                if (tmp != null)
                {
                    ret = tmp.Provider;
                }
            }
            return(ret);
        }