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