public void bring(Item item, Date atDate) {
		if (item == null) {
			throw new IllegalArgumentException("Item is null.");
		}

		if (atDate == null) {
			throw new IllegalArgumentException("At date is null.");
		}

		Payment payment = null;

		// First see if the item is not used.
		for (Payment registeredPayment : payments) {
			Usage usage = registeredPayment.getUsage();

			if (usage.getItem().equals(item) && !usage.isReturned()) {
				payment = registeredPayment;
				break;
			}
		}

		if (payment == null) {
			// The item was not found in the inventory.
			// Did the employee take it from some other repository?
			return;
		}

		// Mark the usage as finished.
		payment.getUsage().setReturnDate(atDate);

		// Notify the first reservation of this item.
		notifyFirstReservation(payment.getUsage().getItem());
	}