private Optional<Instant> getDeleteAgeThreshold(final DataStoreServiceConfig config) {
        final StroomDuration deletePurgeAge = config.getDeletePurgeAge();
        return Optional.ofNullable(deletePurgeAge)
                .map(purgeAge -> {
                    try {
                        final Instant deleteThreshold = TimeUtils.durationToThreshold(purgeAge);
                        LOGGER.debug("{} - Using deleteThreshold: {} for deletePurgeAge: {}",
                                TASK_NAME, deleteThreshold, purgeAge);
                        return deleteThreshold;
                    } catch (Exception e) {
                        throw new RuntimeException(LogUtil.message("Invalid value {} for property '{}'",
                                deletePurgeAge,
                                config.getFullPathStr(DataStoreServiceConfig.PROP_NAME_DELETE_PURGE_AGE)), e);
                    }
                });
    }
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