fixed major 32 bit limit bugs but introduced bugs for some rare special cases in new method nextStartAndEndByteAndNumberOfRemainingParts(int64, int64, int) func() (int64, int64, int64)