docs: public void flush(int check_room ){
          if(check_room > 0) {
              if((this.bufsize - 1) > (this.marker + check_room)) {
                  return;
              }
          } else {
              check_room = this.bufsize - 1;
          }
  
          if(check_room > this.marker ) {
              check_room = this.marker;
          }
  
          this.output_handler.handle(this, this.buffer, check_room);
          this.bufpos += check_room;
          this.marker -= check_room;
      }