The hasNext method doesn't advance the read point. However, in the point where you're reading in data, you use the next() method, which will advance the read point.

A suggestion would be to simply...