public UpdateTimestampsCache(Settings settings, IDictionary <string, string> props)
        {
            string prefix = settings.CacheRegionPrefix;

            regionName = prefix == null ? regionName : prefix + '.' + regionName;
            log.Info("starting update timestamps cache at region: {0}", regionName);
            updateTimestamps = settings.CacheProvider.BuildCache(regionName, props);
            // ReSharper disable once SuspiciousTypeConversion.Global
            _batchReadOnlyUpdateTimestamps = updateTimestamps as IBatchableReadOnlyCache;
            _batchUpdateTimestamps         = updateTimestamps as IBatchableCache;
        }
        public StandardQueryCache(Settings settings, IDictionary <string, string> props, UpdateTimestampsCache updateTimestampsCache, string regionName)
        {
            if (regionName == null)
            {
                regionName = typeof(StandardQueryCache).FullName;
            }

            String prefix = settings.CacheRegionPrefix;

            if (!string.IsNullOrEmpty(prefix))
            {
                regionName = prefix + '.' + regionName;
            }

            Log.Info("starting query cache at region: {0}", regionName);

            _queryCache             = settings.CacheProvider.BuildCache(regionName, props);
            _batchableReadOnlyCache = _queryCache as IBatchableReadOnlyCache;
            _batchableCache         = _queryCache as IBatchableCache;
            _updateTimestampsCache  = updateTimestampsCache;
            _regionName             = regionName;
        }