private boolean purchase(ShopItem item, int amount)
			throws InterruptedException {
		final int oldID = item.getID();
		validate(item.getSlot());
		if (oldID != item.getID())
			throw new RuntimeException("Inconsistent item! Required: " + oldID + ", but found: " + item.getID());
		else if (item.getAmount() <= 0)
			return false;
		switch (amount) {
		case 1:
			return item.purchaseOne();
		case 5:
			return item.purchaseFive();
		case 10:
			return item.purchaseTen();
		}
		return false;
	}