public void flushTagBuffering() {
   if (!tagMetaStack.isEmpty()) {
     TagMeta tm = tagMetaStack.peek();
     if (tm.bufferMode) {
       writeTagBodyStart(tm);
       if (tm.bufferPartNumber != -1) {
         htmlPartPrintlnRaw(tm.bufferPartNumber);
       }
       tm.bufferMode = false;
     }
   }
 }
  private void htmlPartPrintlnToResponse(int partNumber) {
    if (!tagMetaStack.isEmpty()) {
      TagMeta tm = tagMetaStack.peek();
      if (tm.bufferMode && tm.bufferPartNumber == -1) {
        tm.bufferPartNumber = partNumber;
        return;
      }
    }

    flushTagBuffering();

    htmlPartPrintlnRaw(partNumber);
  }