public void pickUpAction(int index) throws InvalidActionException {
		if (grid.getItemsOnPosition(grid.getElementPosition(getActivePlayer())).isEmpty())
			throw new IllegalArgumentException("There is no item to be picked up on the current position!");
		if (grid.getItemsOnPosition(grid.getElementPosition(getActivePlayer())).size() < index)
			throw new IllegalArgumentException("The given index is invalid!");

		final Item item = grid.getItemsOnPosition(grid.getElementPosition(getActivePlayer())).get(index);
		((Pickupable) item).pickUp(getActivePlayer());
		getGrid().getEventManager().sendEvent(new Event(EventType.END_ACTION, getActivePlayer()));

		if (getActivePlayer().getRemainingActions() <= 0)
			activePlayerEndTurn();
	}