protected void endReached() {
        initialState = false;
        hasNext = false;
    }
It is still internal method and should be used with care.
Usually this method is called to read next record into internal object and affects hasNext() method.
So after calling this one:
- hasNext(), next() should not be called
- stream should be read with readRecord() method fully

@param record
@return
@throws IOException
client-v2/src/main/java/com/clickhouse/client/api/data_formats/internal/AbstractBinaryFormatReader.java