public void reserve(Employee employee, Item item) {
		if (employee == null) {
			throw new IllegalArgumentException("Employee is null.");
		}

		if (item == null) {
			throw new IllegalArgumentException("Item is null.");
		}

		// Short circuit the reservation, if the item exists.
		if (isItemAvailable(item)) {
			announce(employee, item);
			return;
		}

		// First check that the reservation does not exist.
		for (Reservation reservation : reservations) {
			if (reservation.getEmployee().equals(employee)
					&& reservation.getItem().equals(item)) {
				return;
			}
		}

		reservations.add(new Reservation(employee, item));
	}