code: private void flush(boolean isEnd)
    {
      if (_startOffset == _offset && _bufferSize == 0) {
        if (! isCommitted() || isEnd) {
          flush(null, isEnd);
          _startOffset = bufferStart();
          _offset = _startOffset;
        }
        return;
      }
  
      int sublen = _offset - _startOffset;
      _tBuf.length(_offset);
      _contentLength += _offset - _startOffset;
      _bufferSize = 0;
      
      if (_startOffset > 0) {
        fillChunkHeader(_tBuf, sublen);
      }
      
      flush(_tBuf, isEnd);
  
      if (! isEnd) {
        _tBuf = TempBuffer.create();
      
        _startOffset = bufferStart();
        _offset = _startOffset;
  
        _tBuf.length(_offset);
        
        _buffer = _tBuf.buffer();
      }
      else {
        _tBuf = null;
      }
    }
docs: Flushes the buffered response to the output stream.