in generator.go [609:621]
func (c *cldrGraph) dfs(from string, visited map[string]bool, stack *[]string) {
visited[from] = true
edges, ok := c.edges[from]
if ok {
for _, edge := range edges {
if _, ok = visited[edge.to]; !ok {
c.dfs(edge.to, visited, stack)
}
}
}
*stack = append(*stack, from)
}