default Iterable<N> traverse(TraversalAlgorithm algorithm, N startNode) {
        return algorithm.traverse(this, startNode);
    }
Returns an iterable which will traverse this graph using the specified algorithm starting
at the given node.

@param algorithm the algorithm to use when traversing
@param startNode the start node in the inheritance graph
@return an iterable
common/src/main/java/me/lucko/luckperms/common/graph/Graph.java