@Override public Record nextRecord(Record reuse) throws IOException { // check if read buffer must be filled (less than one record contained) if(this.readBufferFillPos - this.readBufferReadPos < this.recordLength) { // try to fill read buffer if(!this.fillReadBuffer()) { return null; } } // update read buffer read marker this.readBufferReadPos += this.recordLength; return this.readBytes(reuse, readBuffer, (this.readBufferReadPos-this.recordLength)) ? reuse : null; }