docs: private void removeIndexTermRecursive(final Element parent) {
          if (parent == null) {
              return;
          }
          final NodeList children = parent.getChildNodes();
          Element child;
          for (int i = children.getLength() - 1; i >= 0; i--) {
              if (children.item(i).getNodeType() == Node.ELEMENT_NODE) {
                  child = (Element) children.item(i);
                  final boolean isIndexTerm = TOPIC_INDEXTERM.matches(child);
                  final boolean hasStart = !child.getAttribute(ATTRIBUTE_NAME_START).isEmpty();
                  final boolean hasEnd = !child.getAttribute(ATTRIBUTE_NAME_END).isEmpty();
                  if (isIndexTerm && (hasStart || hasEnd)) {
                      parent.removeChild(child);
                  } else {
                      removeIndexTermRecursive(child);
                  }
              }
          }
      }