code: protected final void advance() throws IOException {
  		// note: this code ensures that in case of EOF, we stay at the same position such that
  		// EOF is reproducible (if nextSegment throws a reproducible EOFException)
  		this.currentSegment = nextSegment(this.currentSegment);
  		this.limitInSegment = getLimitForSegment(this.currentSegment);
  		this.positionInSegment = this.headerLength;
  	}
docs: Advances the view to the next memory segment. The reading will continue after the header of the next
  segment. This method uses {@link #nextSegment(MemorySegment)} and {@link #getLimitForSegment(MemorySegment)}
  to get the next segment and set its limit.
  
  @throws IOException Thrown, if the next segment could not be obtained.
  
  @see #nextSegment(MemorySegment)
  @see #getLimitForSegment(MemorySegment)