private void processRemoveFromIndexTask(FileEntry <Metadata> fileToRemove)
        {
            var indexingTask = new IndexingTask(IndexingAction.RemoveContent, fileToRemove, CancellationToken);

            ProcessingTaskStarted?.Invoke(this, indexingTask);

            _currentTask = indexingTask;
            _indexingTaskProcessor.ProcessTask(indexingTask);
            _currentTask = null;

            ProcessingTaskFinished?.Invoke(this, indexingTask);
        }
        private void processAddToIndexTask(IndexingTask indexingTask)
        {
            ProcessingTaskStarted?.Invoke(this, indexingTask);

            _currentTask = indexingTask;
            _indexingTaskProcessor.ProcessTask(indexingTask);
            _currentTask = null;

            ProcessingTaskFinished?.Invoke(this, indexingTask);

            if (indexingTask.HasToBeRepeated)
            {
                _delayedTasksQueue.TryEnqueue(indexingTask.FileEntry, indexingTask);
            }

            if (indexingTask.FileAccessException != null && indexingTask.HardlinkPath != null)
            {
                _failedHardLinksQueue.TryEnqueue(indexingTask.HardlinkPath);
            }
        }