public override int Read(byte[] buffer, int offset, int count) { int read; remaining -= read = baseStream.Read(buffer, offset, Math.Min(count, remaining)); return read; }