Added iterator-based shortest path search