public void Watch(IConfigrationWatcher watcher)
        {
            Task.Run(() =>
            {
                var keys = _etcdOptions.PrefixKeys;

                if (!string.IsNullOrEmpty(_etcdOptions.Env))
                {
                    keys = _etcdOptions.PrefixKeys.Select(prefixKey => $"{ _etcdOptions.Env }{prefixKey}").ToList();
                }

                try
                {
                    _etcdClient.WatchRange(keys.ToArray(), (WatchResponse response) =>
                    {
                        if (response.Events.Count > 0)
                        {
                            watcher.FireChange();
                        }
                    }, _headers);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace);
                }
            });
        }
        public void Watch(IConfigrationWatcher watcher)
        {
            Task.Run(() =>
            {
                var keys = _etcdOptions.PrefixKeys;

                if (!string.IsNullOrEmpty(_etcdOptions.Env))
                {
                    keys = _etcdOptions.PrefixKeys.Select(prefixKey => $"{ _etcdOptions.Env }{prefixKey}").ToList();
                }

                _etcdClient.WatchRange(keys.ToArray(), (WatchResponse response) =>
                {
                    if (response.Events.Count > 0)
                    {
                        watcher.FireChange();
                    }
                }, _headers);
            });
        }