public override int Read() { dieIfClosed(); if (atEOD()) { return(EOF); } int result = _currentBlock.ReadUByte(); _current_offset++; if (_currentBlock.Available() < 1) { _currentBlock = GetDataInputBlock(_current_offset); } return(result); }