public async Task <AppConfigData> GetAppConfigData()
        {
            if (DateTime.UtcNow > AppConstants.TimeToLiveExpiration || String.IsNullOrEmpty(AppConstants.ClientConfigurationVersion))
            {
                // get Amazon.AppConfig.Model.GetConfigurationResponse from GetConfiguration API Call
                GetConfigurationResponse getConfigurationResponse = await _appConfigService.GetConfigurationResponse();

                AppConstants.ClientConfigurationVersion = getConfigurationResponse.ConfigurationVersion;

                string decodedResponseData = getConfigurationResponse.Content.Length > 0 ? getConfigurationResponse.Content.DecodeMemoryStreamToString() : String.Empty;

                // convert DecodedResponseData to our AppConfigData model which consists of:
                AppConfigData appConfigData = String.IsNullOrEmpty(decodedResponseData) ? AppConstants.AppConfigData : JsonConvert.DeserializeObject <AppConfigData>(decodedResponseData);

                //AppConfigData appConfigData = JsonConvert.DeserializeObject<AppConfigData>(decodedResponseData);

                if (!appConfigData.BoolEnableLimitResults && appConfigData.IntResultLimit == 0)
                {
                    throw new Exception();
                }

                // add AppConfigData to our cache in AppConstants
                AppConstants.AppConfigData = appConfigData;

                return(AppConstants.AppConfigData);
            }
            else
            {
                Console.WriteLine("DID NOT call GetConfigurationAPI to get data.  Return AppConfigData from cached value in AppConstants.AppConfigData instead. \n");
                return(AppConstants.AppConfigData);
            }
        }