static T GetConditional <T>(this ReadOnlySettings settings, Func <bool> condition, string key) { if (condition()) { return(settings.GetOrDefault <T>(key)); } return(settings.GetDefault <T>(key)); }