public double calculateTotalCostOfRoute(Vehicle vehicle, String weekDay, boolean specialFee, boolean axles) throws IOException {
        double cost = 0;
        String fuel = readFuelsCSV(weekDay);
        for(Route route : routeList)
        {

            if(vehicle instanceof Truck)
            {
                Truck truck = (Truck) vehicle;

                cost+= route.getKm() * (vehicle.getAverageConsumption()+vehicle.getCargo()/100*0.05) * (truck.getTypeOfFuel() == FuelType.Diesel ? Double.parseDouble(fuel.split(";")[0]) : Double.parseDouble(fuel.split(";")[0])) + (specialFee ? route.getSpecialFee() : 0) * (axles ? Math.pow(1.5,((Truck) vehicle).getAxles()) : 1);
            }
            else
            {
                Car car = (Car)vehicle;
                cost+= route.getKm() * (vehicle.getAverageConsumption()+vehicle.getCargo()/100*0.5) * (car.getTypeOfFuel() == FuelType.Diesel ? Double.parseDouble(fuel.split(";")[0]) : Double.parseDouble(fuel.split(";")[0])) + (specialFee ? route.getSpecialFee() : 0);
            }
        }
        return cost;
    }