void EnsureDataAvailable () { if (!readResult || !haveRead || !readResultUsed) throw new InvalidOperationException ("No data available."); }