@Override public long getShortestTravelTime(Point from, Point to) { final Iterator<Point> path = roadModel.getShortestPathTo(from, to) .iterator(); long travelTime = 0L; Point prev = path.next(); while (path.hasNext()) { final Point cur = path.next(); final Measure<Double, Length> distance = Measure.valueOf( Point.distance(prev, cur), roadModel.getDistanceUnit()); travelTime += RoadModels.computeTravelTime(vehicleSpeed, distance, timeUnit); prev = cur; } return travelTime; }