private void deleteFolder(DomainFolder folder, TaskMonitor monitor) throws CancelledException {

		for (DomainFolder subFolder : folder.getFolders()) {
			monitor.checkCancelled();
			if (!selectedFolders.contains(subFolder)) {
				deleteFolder(subFolder, monitor);
			}
		}

		for (DomainFile file : folder.getFiles()) {
			monitor.checkCancelled();
			if (!selectedFiles.contains(file)) {
				deleteFile(file);
				monitor.incrementProgress(1);
			}
		}

		deleteEmptyFolder(folder);
	}
Construct a new DeleteProjectFilesTask with the list of folders and files to delete.

@param folders the fist of DomainFolders (and all files contained recursively 
in those folders) to delete
@param files the list of DomainFiles to delete
@param fileCount the number of files being deleted
@param parent the component to use for parenting any dialogs that are shown
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/DeleteProjectFilesTask.java