code: public static synchronized void addParmEditDirective(
              String targetId, String name, String value, IPerson person) throws PortalException {
          Document plf = (Document) person.getAttribute(Constants.PLF);
          Element parmSet = getParmEditSet(plf, person, true);
          NodeList edits = parmSet.getChildNodes();
          Element existingEdit = null;
  
          for (int i = 0; i < edits.getLength(); i++) {
              Element edit = (Element) edits.item(i);
              if (edit.getAttribute(Constants.ATT_TARGET).equals(targetId)
                      && edit.getAttribute(Constants.ATT_NAME).equals(name)) {
                  existingEdit = edit;
                  break;
              }
          }
          if (existingEdit == null) // existing one not found, create a new one
          {
              addParmEditDirective(targetId, name, value, person, plf, parmSet);
              return;
          }
          existingEdit.setAttribute(Constants.ATT_USER_VALUE, value);
      }
docs: Create and append a parameter edit directive to parameter edits set for applying a user
  specified value to a named parameter of the incorporated channel represented by the passed-in
  target id. If one already exists for that node and that name then the value of the existing
  edit is changed to the passed-in value.