class DetectorManager {

    void detectorLastUsedTimeSync(long currentTime) {
        long updateDurationInSeconds = (currentTime - detectorsLastUsedSyncedTillTime) / 1000;

        if (updateDurationInSeconds <= 0 || detectorsLastUsedTimeToBeUpdatedQueue.isEmpty()) {
            return;
        }
        processDetectorsLastTimeUsedQueue();
        detectorsLastUsedSyncedTillTime = currentTime;
    }

    public  DetectorManager(DetectorSource detectorSource,
                           DataInitializer dataInitializer,
                           Config config,
                           Map<UUID, DetectorContainer> cachedDetectors,
                           MetricRegistry metricRegistry);
    public  DetectorManager(DetectorSource detectorSource,
                           DataInitializer dataInitializer,
                           Config config,
                           MetricRegistry metricRegistry);

}