code: public String[] getParameterValues(String name)
      {
          if (WCCustomProperties.CHECK_REQUEST_OBJECT_IN_USE){
              checkRequestObjectInUse();
          }
          parseParameters();
          // 321485
          String[] values = (String[]) SRTServletRequestThreadData.getInstance().getParameters().get(name);
          if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
              logger.logp(Level.FINE, CLASS_NAME,"getParameterValues", " name --> " + name);
          }
  
          //PI20210
          if (WCCustomProperties.PRESERVE_REQUEST_PARAMETER_VALUES){
              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {
                  logger.logp(Level.FINE, CLASS_NAME,"getParameterValues", " returning a clone of parameter values");
              }
              return (values == null ? null : values.clone());
          }
          else{  //PI20210
              return values;
          }
      }
docs: Returns the value of the specified parameter for the request. For
  example, in an HTTP servlet this would return the value of the
  specified query string parameter.
  @param name the parameter name
  @return an array of values for the passed parameter name. If there are
  no values then return null.