private void RunWatcher(Action <FileSystemEventArgs> processAction, CancellationToken cancellationToken)
        {
            var watcher = new FileSystemEventCollection(cancellationToken, Path.GetTempPath(), $"*.{_tempFileExtension}").GetEnumerator();

            while (watcher.MoveNext())
            {
                processAction(watcher.Current);
            }
        }
        private void StartCollectionWatcher()
        {
            _collection = new FileSystemEventCollection(_configuration, _cancellationToken);

            Task.Run(() =>
            {
                _collection._isInitializedEvent.Wait();
                _intializedEvent.Set();
            });

            var collectionEnumerator = _collection.GetEnumerator();

            while (collectionEnumerator.MoveNext())
            {
                _callback(collectionEnumerator.Current);
            }
        }