protected void AssertBeganRead() { if (!rlock.IsHeldByCurrentThread ()) { throw new IOException ("thread must first call BeginRead"); } }