internal CachedTemperatureProvider(ITemperatureHistoryRepository temperatureHistoryRepository,
            ITemperatureProvider fallbackProvider)
        {
            if (temperatureHistoryRepository == null) throw new ArgumentNullException("temperatureHistoryRepository");
            if (fallbackProvider == null) throw new ArgumentNullException("fallbackProvider");

            _temperatureHistoryRepository = temperatureHistoryRepository;
            _fallbackProvider = fallbackProvider;
        }
        public TemperatureSyncService(ITemperatureHistoryRepository temperatureHistoryRepository, ITemperatureDataSource temperatureDataSource) 
        {
            if (temperatureHistoryRepository == null) 
            {
                throw new ArgumentNullException("temperatureHistoryRepository");
            }

            if (temperatureDataSource == null) 
            {
                throw new ArgumentNullException("temperatureDataSource");
            }

            _temperatureHistoryRepository = temperatureHistoryRepository;
            _temperatureDataSource = temperatureDataSource;
        }