why do we have ++recordsRead here? shouldn't it be after super.read()?