public void createNodeIfNotExists(NodeType node) {
        if (!parentsOfNode.containsKey(node)) {
            parentsOfNode.put(node, new ArrayList<>());
        }

        if (!childrenOfNode.containsKey(node)) {
            childrenOfNode.put(node, new ArrayList<>());
        }
    }
This class is responsible for managing inheritance relationships among generic constructs.
Each node is identified by a NodeType which should implement a good hashCode and .equals.

@author Mangern
integration/schema-language-server/language-server/src/main/java/ai/vespa/schemals/index/InheritanceGraph.java