public IEnumerable <Route> Handle(Request request, IRouteProblem problem) { if (request.Filter.AllowedVehicles.Contains(VehicleType.Car) && request.Filter.AllowedVehicles.Contains(VehicleType.Train)) { matDb.Merging(adjDb); adjDb.Merging(matDb); problem.Graph = adjDb; return(this.next.Handle(request, problem)); } if (request.Filter.AllowedVehicles.Contains(VehicleType.Car)) { problem.Graph = adjDb; return(this.next.Handle(request, problem)); } if (request.Filter.AllowedVehicles.Contains(VehicleType.Train)) { problem.Graph = matDb; return(this.next.Handle(request, problem)); } Console.WriteLine("Merging failed"); return(null); }