nextRow() never resets map to null, so once you get one event, hasMore() will never be false.