The data set builder includes the last record when getDataSet is called, even if nextRecord was never called. This implies that there needs to be a clear definition of what nextRecord implies: is it committing the record, or is it simply queuing up for the next record? It looks like the code implies the latter.
Javadoc should clearly indicate...
This logic resulted in an extra record being dropped from the ASCII parser, as it fumbled with
this unclear logic. Also I added getRecCount() which does not include the partial record.