docs: void handleInitialRequest(HttpServerExchange initial, Http2Channel channel, byte[] data) {
  
          //we have a request
          Http2HeadersStreamSinkChannel sink = channel.createInitialUpgradeResponseStream();
          final Http2ServerConnection connection = new Http2ServerConnection(channel, sink, undertowOptions, bufferSize, rootHandler);
  
  
          HeaderMap requestHeaders = new HeaderMap();
          for(HeaderValues hv : initial.getRequestHeaders()) {
              requestHeaders.putAll(hv.getHeaderName(), hv);
          }
          final HttpServerExchange exchange = new HttpServerExchange(connection, requestHeaders, sink.getHeaders(), maxEntitySize);
          if(initial.getRequestHeaders().contains(Headers.EXPECT)) {
              HttpContinue.markContinueResponseSent(exchange);
          }
          if(initial.getAttachment(HttpAttachments.REQUEST_TRAILERS) != null) {
              exchange.putAttachment(HttpAttachments.REQUEST_TRAILERS, initial.getAttachment(HttpAttachments.REQUEST_TRAILERS));
          }
          Connectors.setRequestStartTime(initial, exchange);
          connection.setExchange(exchange);
          exchange.setRequestScheme(initial.getRequestScheme());
          exchange.setRequestMethod(initial.getRequestMethod());
          exchange.setQueryString(initial.getQueryString());
          if(data != null) {
              Connectors.ungetRequestBytes(exchange, new ImmediatePooledByteBuffer(ByteBuffer.wrap(data)));
          } else {
              Connectors.terminateRequest(exchange);
          }
          String uri = exchange.getQueryString().isEmpty() ? initial.getRequestURI() : initial.getRequestURI() + '?' + exchange.getQueryString();
          try {
              Connectors.setExchangeRequestPath(exchange, uri, encoding, decode, allowEncodingSlash, decodeBuffer, maxParameters);
          } catch (ParameterLimitException e) {
              exchange.setStatusCode(StatusCodes.BAD_REQUEST);
              exchange.endExchange();
              return;
          }
  
  
          handleCommonSetup(sink, exchange, connection);
          Connectors.executeRootHandler(rootHandler, exchange);
      }