/// <summary>
        /// Attempts to find and return the config setting with the specified id
        /// </summary>
        /// <returns>True if the setting was found, otherwise false</returns>
        private static bool TryGetConfigSetting(this AnalysisConfig config, string settingId, out ConfigSetting result)
        {
            Debug.Assert(config != null, "Supplied config should not be null");
            Debug.Assert(!string.IsNullOrWhiteSpace(settingId), "Setting id should not be null/empty");

            result = null;

            if (config.AdditionalConfig != null)
            {
                result = config.AdditionalConfig.FirstOrDefault(ar => ConfigSetting.SettingKeyComparer.Equals(settingId, ar.Id));
            }
            return(result != null);
        }