public void add(final ExplorerNode parent, final ExplorerNode child) {
        final K childKey = getNodeKey(child);
        final K parentKey = getNodeKey(parent);
        recordNodeTags(parent, child);

        childKeyToParentNodeMap.putIfAbsent(childKey, parent);
        final Set<ExplorerNode> childNodes = parentKeyToChildNodesMap.computeIfAbsent(
                parentKey,
                k -> new LinkedHashSet<>());
        childNodes.add(child);

        keyToNodeMap.putIfAbsent(childKey, child);
        keyToNodeMap.putIfAbsent(parentKey, parent);
    }
Get the node from the model with the unique key of the supplied node
stroom-explorer/stroom-explorer-impl/src/main/java/stroom/explorer/impl/AbstractTreeModel.java