private List<NodeType> getValidChildren(NodeType node) {
        return childrenOfNode.getOrDefault(node, new ArrayList<>())
                               .stream()
                               .filter(childNode -> parentsOfNode.get(childNode).contains(node))
                               .collect(Collectors.toList());
    }
Recursive search downwards through the inheritance graph to 
retrieve all who directly or indirectly inherits the given node
integration/schema-language-server/language-server/src/main/java/ai/vespa/schemals/index/InheritanceGraph.java