QualitySim.simulate, and QualityReader.open can now directly use DataInput/DataOutput so that results can be stored in memory
restoring a line that was accidentally deleted