public void archiveDepartingVehicles(int time, boolean force)
			throws VehicleException, SimulationException {
		// Temp list used to store values grabbed from the list of Arrays.
		ArrayList<Vehicle> checkingForDepart = new ArrayList<Vehicle>();

		for (int i = 0; i < allVehiclesParked.size(); i++) {
			for (Vehicle v : allVehiclesParked.get(i)) {
				if (v.getDepartureTime() == time) {
					checkingForDepart.add(v);
					satisfiedVehicles.add(v);
				} else {
					checkingForDepart.add(v);
				}
			}

			for (Vehicle v : checkingForDepart) {
				unparkVehicle(v, time);

				if (v instanceof Car) {
					if (((Car) v).isSmall()) {
						if (v.getDepartureTime() == time) {
							smallCarsParked.remove(v);
							numSmallCars--;
						}
					}
					// Else if the car is normal size.
					else if (((Car) v).isSmall() == false) {
						if (v.getDepartureTime() == time) {
							carsParked.remove(v);
							numCars--;
						}
					}
				} else if (v instanceof MotorCycle) {
					if (v.getDepartureTime() == time) {
						motorCyclesParked.remove(v);
						numMotorCycles--;
					}
				}
			}
			// Once the check has been complete, clear the list for future use.
			checkingForDepart.clear();
		}
	}