IAsyncResult IPeerMaintainer.BeginOpenNeighbor(PeerNodeAddress address, TimeSpan timeout, AsyncCallback callback, object asyncState)
        {
            lock (ThisLock)
            {
                EndpointAddress key = address.EndpointAddress;
                if (referralCache.ContainsKey(key))
                {
                    referralCache.Remove(key);
                }
            }

            return(neighborManager.BeginOpenNeighbor(address, timeout, callback, asyncState));
        }