public async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            var result = await apiClient.FetchToggles(Etag, cancellationToken).ConfigureAwait(false);

            if (!result.HasChanged)
            {
                return;
            }

            if (string.IsNullOrEmpty(result.Etag))
            {
                return;
            }

            if (result.Etag == Etag)
            {
                return;
            }

            toggleCollection.Instance = result.ToggleCollection;

            using (var fs = fileSystem.FileOpenCreate(toggleFile))
            {
                jsonSerializer.Serialize(fs, result.ToggleCollection);
            }

            Etag = result.Etag;
            fileSystem.WriteAllText(etagFile, Etag);
        }