public TagEntry this[string tagName, TagEntry defaultValue = null] { get { TagEntry result; return tags.TryGetValue(tagName, out result) ? result : defaultValue /*?? TagEntry.Empty*/; } }