public void dropFlagOnAdjacentPosition(Position position) {
		if (position == null)
			throw new IllegalArgumentException("The given arguments are invalid!");
		
		final PlayerFlag inventoryFlag = getInventory().findFlag();

		if (inventoryFlag != null) {
			List<Position> positionsAroundPlayer = getGrid().getPositionsAround(position);
			positionsAroundPlayer = removeObstaclesFromPositionList(positionsAroundPlayer);
			positionsAroundPlayer.remove(position);

			final int randomIndex = new Random().nextInt(positionsAroundPlayer.size());
			Position randomPositionAround = positionsAroundPlayer.get(randomIndex);

			getInventory().remove(inventoryFlag);
			getGrid().addElementToPosition(inventoryFlag, randomPositionAround);
		}
	}