private static boolean isStalemateSituation(BotState state) {
		boolean isStalemateSituation = true;
		int ownIncome = state.getStartingArmies();
		int opponentIncome = HeuristicMapModel.getGuessedOpponentIncome();
		// No stalemate situation without seeing the opponent
		if (state.getVisibleMap().getEnemyRegions(state).size() == 0) {
			isStalemateSituation = false;
		}

		// No stalemate with income difference
		if (ownIncome != opponentIncome) {
			isStalemateSituation = false;
		}
		// No stalemate when the opponent can attack us without us deploying.
		List<NeededDefenseArmies> neededDefenseArmiesList = NeededArmiesCalculator.neededDefenseArmiesList;
		for (NeededDefenseArmies nDA : neededDefenseArmiesList) {
			Region defenceRegion = nDA.region;
			if (defenceRegion.getArmies() < nDA.fairDefenceArmiesDeployment) {
				isStalemateSituation = false;
			}
		}
		// No stalemate when we can attack the opponent without him deploying.
		List<NeededAttackArmies> neededAttackArmiesList = NeededArmiesCalculator.neededAttackArmiesList;
		for (NeededAttackArmies nAA : neededAttackArmiesList) {
			Region attackRegion = nAA.region;
			int maximumAttackArmies = attackRegion.getOwnSurroundingPossibleAttackArmies(state);
			if (maximumAttackArmies > nAA.fairFightArmiesNoDeployment) {
				isStalemateSituation = false;
			}
		}

		return isStalemateSituation;
	}