void IDisposable.Dispose()
 {
     lock (serverLock)
     {
         servers?.Dispose();
         servers = null;
     }
 }
        public IPEndPoint[] Run()
        {
            if (servers != null)
            {
                throw new InvalidOperationException("Already started");
            }

            servers = new MemcachedServerGroup(3);

            return(servers.Run());
        }
        public IPEndPoint[] Run()
        {
            lock (serverLock)
            {
                if (servers == null)
                {
                    servers   = new MemcachedServerGroup(3);
                    endpoints = servers.Run();
                }
            }

            return(endpoints);
        }
 void IDisposable.Dispose()
 {
     servers?.Dispose();
     servers = null;
 }