/// <inheritDoc/> public object this[object key] { get { if (!IsEmpty) { if (EventProperties.TryGetValue(key, out var valueItem)) { return(valueItem.Value); } } throw new KeyNotFoundException(); } set => EventProperties[key] = new PropertyValue(value, false);