private void InitializeWatcher(FileSystemEventQueue queue, FileSystemWatcher watcher)
        {
            _logger.Initializing <FileSystemEventCollection>();
            watcher.NotifyFilter = NotifyFilters.FileName
                                   | NotifyFilters.CreationTime
                                   | NotifyFilters.LastWrite;

            watcher.Created += (s, e) => queue.Enqueue(e);
            watcher.Changed += (s, e) => queue.Enqueue(e);
            watcher.Deleted += (s, e) => queue.Enqueue(e);
            watcher.Renamed += (s, e) => queue.Enqueue(e);

            watcher.EnableRaisingEvents = true;
        }
 private void QueueInitialFiles(FileSystemEventQueue queue)
 {
     _logger.QueuingInitialFiles();
     foreach (var file in Directory.GetFiles(_configuration.DirectoryToMonitor, _configuration.DirectoryFileFilter, SearchOption.TopDirectoryOnly))
     {
         queue.Enqueue(new FileSystemEventArgs(WatcherChangeTypes.All, _configuration.DirectoryToMonitor, Path.GetFileName(file)));
     }
 }