public static bool InterpretAccessValues(this TagsCollectionBase tags, IEnumerable <string> keys, params string[] rootKeys) { bool?nullable1 = new bool?(); for (int index = 0; index < rootKeys.Length; ++index) { bool?nullable2 = tags.InterpretAccessValue(rootKeys[index]); if (nullable2.HasValue) { nullable1 = nullable2; } } foreach (string key in keys) { bool?nullable2 = tags.InterpretAccessValue(key); if (nullable2.HasValue) { nullable1 = nullable2; } } if (nullable1.HasValue) { return(nullable1.Value); } return(true); }