private void deleteEmptyDirs(final List<SimpleMeta> simpleMetas,
                                 final Instant deleteThresholdEpoch,
                                 final Progress progress,
                                 final Map<Path, Path> dirToVolPathMap) {
        final DurationTimer dirDeletionTimer = DurationTimer.start();
        dirToVolPathMap.forEach((dir, volumePath) ->
                fsFileDeleter.tryDeleteDir(
                        volumePath,
                        dir,
                        deleteThresholdEpoch.toEpochMilli(),
                        progress::addDirDeletes));

        progress.addDirDeletionDuration(dirDeletionTimer);
        LOGGER.debug(() -> LogUtil.message(
                "{} - Deleted any empty directories for {} directories, {} meta IDs in {}",
                TASK_NAME, dirToVolPathMap.size(), simpleMetas.size(), dirDeletionTimer));
    }
Deletes a batch of simpleMetas from the file system and the database.

@param deleteThresholdEpoch The threshold for statusTime, i.e. records <= deleteThresholdEpoch
@param progress             Count of failures that spans multiple batches
@return Those simpleMeta items that could not be deleted for some reason.
stroom-data/stroom-data-store-impl-fs/src/main/java/stroom/data/store/impl/fs/PhysicalDeleteExecutor.java