docs: public void write(Pointer _str, final int _len) {
          int len = _len;
          byte[] bstr = _str.buffer;
          int str = _str.start;
  
          if(this.buffer == null) {
              clear();
          }
  
          int at = this.marker;
          if(len + at >= this.bufsize - 1) {
              flush(0);
              for(;;) {
                  int rest = (this.bufsize - 1) - this.marker;
                  if(len <= rest) break;
                  System.arraycopy(bstr, str, this.buffer, this.marker, rest);
                  this.marker += rest;
                  str += rest;
                  len -= rest;
                  flush(0);
              }
          }
          
          System.arraycopy(bstr, str, this.buffer, this.marker, len);
          this.marker += len;
          this.buffer[this.marker] = 0;
      }