@Override
    public List<ExplorerNode> getNodesByNameAndType(final ExplorerNode parent,
                                                    final String name,
                                                    final String type) {

        ExplorerTreeNode parentNode = null;
        if (parent != null) {
            parentNode = explorerTreeDao.findByUUID(parent.getUuid());
            if (parentNode == null) {
                throw new RuntimeException("Unable to find parent node");
            }
        }

        final List<ExplorerTreeNode> children = explorerTreeDao.getChildrenByNameAndType(
                parentNode, name, type);

        return children.stream()
                .map(this::createExplorerNode)
                .collect(Collectors.toList());
    }
General form a function that returns a list of explorer nodes from the tree DAO

@param folderDocRef  The root doc ref of the query
@param fetchFunction The function to call to get the list of ExplorerTreeNodes given a root ExplorerTreeNode
@return The list of converted ExplorerNodes
stroom-explorer/stroom-explorer-impl/src/main/java/stroom/explorer/impl/ExplorerNodeServiceImpl.java