public ConfigurationSet GetConfiguration(string setName, string environment = null)
        {
            var faultedMemCache = validateMemCache();

            if (faultedMemCache)
            {
                Logging.DebugMessage("ConfigSet MemoryCache error.....");
            }
            ConfigurationSet item = null;

            if (!faultedMemCache)
            {
                item = (ConfigurationSet)MemoryCache.Default.Get(setName);
            }
            if (item.IsInstance())
            {
                return(item);
            }
            item = GetConfigurationSet(setName, environment);
            Logging.DebugMessage("[ConfigSet cache is not primed]");
            if (!faultedMemCache)
            {
                MemoryCache.Default.Set(setName, item, new CacheItemPolicy {
                    SlidingExpiration = new TimeSpan(0, 0, GetCacheExpirationTime())
                });
            }
            return(item);
        }