if (DIJKSTRA_BI.equalsIgnoreCase(algoStr))
ra = new DijkstraBidirectionRef(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
} else if (DIJKSTRA.equalsIgnoreCase(algoStr))
ra = new Dijkstra(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
AStarBidirection aStarBi = new AStarBidirection(g, opts.getFlagEncoder(), opts.getWeighting(),
opts.getTraversalMode());
aStarBi.setApproximation(getApproximation(ASTAR_BI, opts, g.getNodeAccess()));
ra = new DijkstraOneToMany(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
AStar aStar = new AStar(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
aStar.setApproximation(getApproximation(ASTAR, opts, g.getNodeAccess()));
ra = aStar;
AlternativeRoute altRouteAlgo = new AlternativeRoute(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
altRouteAlgo.setMaxPaths(opts.getHints().getInt(MAX_PATHS, 2));
altRouteAlgo.setMaxWeightFactor(opts.getHints().getDouble(MAX_WEIGHT, 1.4));