private IEnumerable<Route> GetAllChildrenRoutesNotVisited(Route currentRoute)
 {
     return GetAllChildrenRoutes(currentRoute).Where(x => x.Visited == false);
 }
 private IEnumerable<Route> GetAllChildrenRoutes(Route currentRoute, bool copy = false)
 {
     var routes = copy ? Graph.CopyRoutes() : Graph.QueryRoutes();
     return routes.Where(x => x.StartingTown == currentRoute.EndingTown);
 }