public async Task <List <Route> > GetRoutesBetween(Airport departure, Airport destination) { var searchEngine = SearchEngineFactory <Airport> .GetSearchEngine(SearchAlgorithm.Dijkstra); var map = await searchEngine.GetMap(new AirportNode(departure), new AirportNode(destination)); var requiredRoutes = await ProcessRoutesInPath(map); return(requiredRoutes); }