+
+ Set<String> elemSet = new HashSet<>();
+ parentVersion.ifPresent(elemSet::add);
+
+ Set<NodeType> validNodeTypes = //
+ Stream.of(NodeType.ATTRIBUTE, NodeType.RELATIONSHIP_KEY, NodeType.RELATIONSHIP_VALUE)
+ .collect(Collectors.toSet());
+
+ NodeList childNodes = node.getElementsByTagName("*");
+ IntStream.range(0, childNodes.getLength()) //
+ .mapToObj(childNodes::item) //
+ .filter(child -> validNodeTypes.contains(getNodeType(child))) //
+ .map(child -> child.getTextContent().trim()) //
+ .forEachOrdered(elemSet::add);
+