static TravelTimes createTravelTimes( Iterable<? extends ModelBuilder<?, ?>> modelSuppliers, Unit<Duration> tu, Iterable<? extends AddDepotEvent> depots, Iterable<? extends AddVehicleEvent> vehicles) { final RoadModel rm = getRm(modelSuppliers); if (rm instanceof GraphRoadModel) { return new GraphTravelTimes<>((GraphRoadModel) rm, tu, depots, vehicles); } return new DefaultTravelTimes(rm, tu, depots, vehicles); }