private static bool ReadBool(IDictionary settings, string key, bool defaultValue)
{
if (settings == null || settings.Count == 0)
return defaultValue;
var value = settings[key];
if(value == null)
return defaultValue;
bool parseResult;
return bool.TryParse(value.ToString(), out parseResult) ? parseResult : defaultValue;
}