docs: public void aggregateQueryStringParams(String additionalQueryString, boolean setQS)
      {
          // 321485
          if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
              logger.logp(Level.FINE, CLASS_NAME,"aggregateQueryStringParams", "entry qs --> " + additionalQueryString + " set --> " + String.valueOf(setQS));
          }
          if (WCCustomProperties.CHECK_REQUEST_OBJECT_IN_USE){
              checkRequestObjectInUse();
          }
          QSListItem tmpQS = null;
          SRTServletRequestThreadData reqData = SRTServletRequestThreadData.getInstance();        
          if (reqData.getParameters() == null)
          {
              if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE))   //306998.15
                  logger.logp(Level.FINE, CLASS_NAME,"aggregateQueryStringParams", "The paramater stack is currently null");
              // Begin 258025, Part 2
              LinkedList queryStringList = SRTServletRequestThreadData.getInstance().getQueryStringList();
              if (queryStringList == null || queryStringList.isEmpty())
              {
                  if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE))  //306998.15
                      logger.logp(Level.FINE, CLASS_NAME,"aggregateQueryStringParams", "The queryStringList is empty");
                  if (queryStringList == null)
                     queryStringList = new LinkedList();
  
                  if (getQueryString()!=null){
                      if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE))  //306998.15
                          logger.logp(Level.FINE, CLASS_NAME,"aggregateQueryStringParams", "getQueryString will be added first in the QSList wih value->"+getQueryString());
                      tmpQS = new QSListItem(getQueryString(), null);
                      queryStringList.add(tmpQS);
                  }
                  SRTServletRequestThreadData.getInstance().setQueryStringList(queryStringList);
  
              }
              // End 258025, Part 2
              if (additionalQueryString !=null){
                  tmpQS = new QSListItem(additionalQueryString, null);
                  queryStringList.add(tmpQS);
              }
              
         }
          if (setQS){
              setQueryString(additionalQueryString);
          }
  
          // if _parameters is not null, then this is part of a forward or include...add the additional query parms
          // if _parameters is null, then the string will be parsed if needed
          if (reqData.getParameters() != null && additionalQueryString != null)
          {
              Hashtable parameters = RequestUtils.parseQueryString(additionalQueryString, getReaderEncoding(true));
              // end 249841, 256836
              String[] valArray;
              for (Enumeration e = parameters.keys(); e.hasMoreElements();)
              {
                  String key = (String) e.nextElement();
                  String[] newVals = (String[]) parameters.get(key);
  
                  // Check to see if a parameter with the key already exists
                  // and prepend the values since QueryString takes precedence
                  //
                  if (reqData.getParameters().containsKey(key))
                  {
                      String[] oldVals = (String[]) reqData.getParameters().get(key);
                      Vector v = new Vector();
  
                      for (int i = 0; i < newVals.length; i++)
                      {
                          v.add(newVals[i]);
                      }
  
                      for (int i = 0; i < oldVals.length; i++)
                      {
                          // 249841, do not check to see if values already exist
                          v.add(oldVals[i]);
                      }
  
                      valArray = new String[v.size()];
                      v.toArray(valArray);
  
                      reqData.getParameters().put(key, valArray);
                  }
                  else
                  {
                      reqData.getParameters().put(key, newVals);
                  }
              }
          }
      }