class AlternativeRoute implements RoutingAlgorithm {

    public List<AlternativeInfo> calcAlternatives(int from, int to) {
        AlternativeBidirSearch altBidirDijktra = new AlternativeBidirSearch(
                graph, weighting, traversalMode, maxExplorationFactor * 2);
        altBidirDijktra.setMaxVisitedNodes(maxVisitedNodes);
        if (weightApproximator != null) {
            altBidirDijktra.setApproximation(weightApproximator);
        }

        Path bestPath = altBidirDijktra.searchBest(from, to);
        visitedNodes = altBidirDijktra.getVisitedNodes();

        return altBidirDijktra.
                calcAlternatives(bestPath, maxPaths, maxWeightFactor, 7, maxShareFactor, 0.8, minPlateauFactor, -0.2);
    }

    public  AlternativeRoute(Graph graph, Weighting weighting, TraversalMode traversalMode);

}