Change Catalog.traversePages() to perform real DFS