public static void updateMapModel(BotState state) {
		// mal schauen...
		// possibleOpponentSuperRegionsLastTurnBegin =
		// possibleOpponentSuperRegionsLastTurn;

		List<Region> opponentRegions = state.getVisibleMap().getEnemyRegions(state);
		for (Region enemyRegion : opponentRegions) {
			if (!regionsOpponentHold.contains(enemyRegion.getId())) {
				regionsOpponentHold.add(enemyRegion.getId());
			}
		}
		// Note that the opponent can also kick us out of one area in one turn.
		List<Region> ourSpots = state.getVisibleMap().getOwnedRegions(state);
		List<Integer> ourSpotsIDs = new ArrayList<>();
		for (Region region : ourSpots) {
			ourSpotsIDs.add(region.getId());
		}
		for (int regionIDThatWeHold : regionsThatWeHoldLastTurn) {
			if (!ourSpotsIDs.contains(regionIDThatWeHold) && !regionsOpponentHold.contains(regionIDThatWeHold)) {
				regionsOpponentHold.add(regionIDThatWeHold);
			}
		}
		// after the picks look at which we lost
		if (state.getRoundNumber() == 1) {
			updateMapModelAfterPicks(state);
		}
		// Store the regions that we hold this turn so we can access them next
		// turn.
		storeRegionsThatWeHold(state);
		calculateEnemySuperRegionsFromRegionInput(state);
		calculateEnemySuperRegionsFromDeploymentInput(state);
		// Store the possible opponent SuperRegions so we can access them next
		// turn to see what was possible this turn.
		List<SuperRegion> possibleOpponentSuperRegions = state.getVisibleMap().getPossibleEnemySuperRegions(state);
		possibleOpponentSuperRegionsLastTurn.clear();
		for (SuperRegion possibleSuperRegion : possibleOpponentSuperRegions) {
			possibleOpponentSuperRegionsLastTurn.add(possibleSuperRegion.getId());
		}
	}