docs: protected void flush() throws IOException {
  		if (this.tempStream != null && this.buffer.position() > 0) {
  			final int pos = this.buffer.position();
  			this.buffer.rewind();
  			this.buffer.limit(pos);
  
  			this.tempStream.write(this.buffer);
  
  			this.buffer.rewind();
  			this.buffer.limit(this.buffer.capacity());
  
  			this.bufferPosition += pos;
  		}
  	}