protected void Add <T>(string key, T value, CacheItemPolicy policy, string region) { if (policy != null) { var timeout = DetermineTimeOut(policy); if (string.IsNullOrEmpty(region)) { appFabricCache.Put <T, DataCacheItemVersion>(key, value, timeout); } else { appFabricCache.CreateRegion(region); appFabricCache.Put <T, DataCacheItemVersion>(key, value, timeout, region); } } else { if (string.IsNullOrEmpty(region)) { appFabricCache.Put <T, DataCacheItemVersion>(key, value); } else { appFabricCache.Put <T, DataCacheItemVersion>(key, value, region); } } }