This actually works for situations where menu nodes are nested in other menu nodes as well as nested in pages as the logic is to get the admin for the parent and call buildBreadcrumbs on it. So for menu nodes if they are nested that will end up recursively getting the breadcrumbs until it hits the menu. Unless I am misunderstanding I believe this code already handles nested situations. 

The code you linked in RouteProvider may in fact be slightly more performant since it loads all of the candidates at once. Can I assume that the array it returns is in order of the candidate parts you returned because otherwise it would difficult to build the breadcrumb from it.