docs: private void parseParameters() {
          if (null != this.queryParameters) {
              return;
          }
          // access the underlying pre-parsed query string values
          Map<String, String[]> params = parseQueryString(this.request.getQuery());
          if ("POST".equalsIgnoreCase(this.request.getMethod())) {
              String type = this.request.getHeader("Content-Type");
              if (null != type && type.startsWith("application/x-www-form-urlencoded")) {
                  // parse the form data in the POST body
                  if (!this.streamActive && null == this.inReader) {
                      try {
                          parseQueryFormData();
                          // now merge the URL params into the map
                          mergeQueryParams(params);
                      } catch (IOException ioe) {
                          FFDCFilter.processException(ioe,
                                                      getClass().getName(), "parseForm",
                                                      new Object[] { this, this.request });
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                              Tr.debug(tc, "Error reading POST form body: " + ioe);
                          }
                      }
                  } else {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                          Tr.debug(tc, "POST form body already being read");
                      }
                  }
              }
          }
          if (null == this.queryParameters) {
              // default to the URL params
              this.queryParameters = params;
          }
      }