This version adds a RowNumerIntegrityCheck but I'm actually doing this a different way now, separate from this lib, so I may just remove this.