private IVehicle CreateVehicleWithFees <T>(int weightInKilogram)
            where T : IVehicle
        {
            IVehicle vehicle = VehicleFactory.Create <T>(GetNextId(),
                                                         weightInKilogram);

            IEnumerable <IFee> fees = FeeFactory.Create(vehicle);

            foreach (IFee fee in fees)
            {
                vehicle.AddFee(fee);
            }

            return(vehicle);
        }