pub fn spawn_replace_included<T: Fn(SearchResultWithReplacement) + Send + Sync + 'static>(
search_results: Vec<SearchResultWithReplacement>,
cancelled: Arc<AtomicBool>,
replacements_completed: Arc<AtomicUsize>,
validation_search_config: Option<FileSearcher>,
file_content_provider: Arc<dyn FileContentProvider>,
on_completion: T,
) -> usize