code: public void addParameter(String pName, Object pValue) {
          // Check that we haven't already saved this parameter
          if (!parameterNames.contains(pName)) {
              parameterNames.add(pName);
  
              // Now check if this parameter already exists in the page.
              Object obj = getRequest().getAttribute(pName);
              if (obj != null) {
                  oldParameters.put(pName, obj);
              }
          }
  
          // Finally, insert the parameter in the request scope.
          getRequest().setAttribute(pName, pValue);
      }
docs: Adds a parameter to the {@code PageContext.REQUEST_SCOPE} scope.
  If a parameter with the same name as {@code pName} already exists,
  then the old parameter is first placed in the {@code OldParameters}
  member variable.  When this tag is finished, the old value will be
  restored.
  
  @param pName The name of the new parameter to be stored in the
  {@code PageContext.REQUEST_SCOPE} scope.
  @param pValue The value for the parmeter to be stored in the {@code
  PageContext.REQUEST_SCOPE} scope.