private Map<String, DataRetentionTracker> getTrackers(final DataRetentionRules dataRetentionRules) {
        final List<DataRetentionTracker> allTrackers = metaService.getRetentionTrackers();

        // Delete any trackers that have a different rules version to the one we have
        allTrackers.stream()
                .map(DataRetentionTracker::getRulesVersion)
                .distinct()
                .filter(rulesVersion ->
                        !rulesVersion.equals(dataRetentionRules.getVersion()))
                .forEach(metaService::deleteTrackers);

        // Return the valid trackers (if there are any) keyed no rule age
        return allTrackers.stream()
                .filter(tracker -> tracker.getRulesVersion().equals(dataRetentionRules.getVersion()))
                .collect(Collectors.toMap(DataRetentionTracker::getRuleAge, Function.identity()));
    }
Pkg private so we can test with a known now time
stroom-data/stroom-data-retention-impl/src/main/java/stroom/data/retention/impl/DataRetentionPolicyExecutor.java