docs: public void flush() throws IOException {
          //according to the servlet spec we ignore a flush from within an include
          if (servletRequestContext.getOriginalRequest().getDispatcherType() == DispatcherType.INCLUDE ||
                  servletRequestContext.getOriginalResponse().isTreatAsCommitted()) {
              return;
          }
          if (servletRequestContext.getDeployment().getDeploymentInfo().isIgnoreFlush() &&
                  servletRequestContext.getExchange().isRequestComplete() &&
                  servletRequestContext.getOriginalResponse().getHeader(Headers.TRANSFER_ENCODING_STRING) == null) {
              //we mark the stream as flushed, but don't actually flush
              //because in most cases flush just kills performance
              //we only do this if the request is fully read, so that http tunneling scenarios still work
              servletRequestContext.getOriginalResponse().setIgnoredFlushPerformed(true);
              return;
          }
          flushInternal();
      }