docs: private static void removeDirective(
              String elementId, String attributeName, String type, IPerson person) {
          Document plf = (Document) person.getAttribute(Constants.PLF);
          Element node = plf.getElementById(elementId);
          if (node == null) return;
  
          Element editSet = null;
  
          try {
              editSet = getEditSet(node, plf, person, false);
          } catch (Exception e) {
              /*
               * we should never get here since we are calling getEditSet passing
               * create=false meaning that the only portion of that method that
               * tosses an exception will not be reached with this call. But if a
               * runtime exception somehow occurs we will log it so that we don't
               * lose the information.
               */
              LOG.error(e, e);
              return;
          }
  
          // if no edit set then the edit can't be there either
          if (editSet == null) return;
  
          Node child = editSet.getFirstChild();
  
          while (child != null) {
              if (child.getNodeName().equals(type)) {
                  Attr attr = ((Element) child).getAttributeNode(Constants.ATT_NAME);
                  if (attr != null && attr.getValue().equals(attributeName)) {
                      // we found it, remove it
                      editSet.removeChild(child);
                      break;
                  }
              }
              child = child.getNextSibling();
          }
          // if that was the last on in the edit set then delete it
          if (editSet.getFirstChild() == null) node.removeChild(editSet);
      }