public override int ReadByte() { if (!_isOpen) throw new InvalidOperationException(); if (_position >= _length) return -1; return _buffer[_position++]; }