public void Dispose() { if (!_buffered) { foreach (var rawLength in GetRawColumnLengths()) { _reader.Skip(rawLength); } _disposedEvent.Set(); } }