public override void MoveToAttribute(int i) { if (i < 0 || i >= _attributeCount) { throw new ArgumentOutOfRangeException(nameof(i)); } _currentAttrIndex = i; _cachedNode = _attributeEvents[i]; }