public override string GetAttribute(int i) { if (i < 0 || i >= _attributeCount) { throw new ArgumentOutOfRangeException(nameof(i)); } return _attributeEvents[i].RawValue; }