private Territory GetTerritoryToAddUnits()
	{
		try
		{
			EraseContinent();
			FillContinent();
			Territory chosen = null;
			//Get current state
			CurrentState = ChooseState(currentContinent);

			//If defense we get the weakest territory from the wesakest continent
			if(CurrentState.equals(State.DefenseContinent))
			{
				ArrayList<Continent> OwnedContinent = GetContinentOwned(currentContinent);
				Continent toDefend = FindWeakestContinent(OwnedContinent);
				chosen = MostVulnerableTerritory(toDefend);
			}
			//If we need to taker a continent we get the next one to take, and we add units close in that continent
			else if(CurrentState.equals(State.PriseContinent))
			{
				int index = GetContinentToOccupyNext(currentContinent);
				for(Territory t: currentContinent.get(index).territories)
				{
					if(t.getOwner().name == name && HasAdjacentEnnemiInContinent(t) && HasAdjacentEnnemiInRange(t))
					{
						chosen = t;
						break;
					}
				}
				//If not place was found where to add units, we add it to that continent fontier
				if(chosen == null)
				{
					chosen = FindContinentFrontierNearContinent(currentContinent.get(index));
					//If none are usefull, we add protection so that wehn we get the continent its easier to keep
					if(chosen == null)
					{
						Continent toDefendNext = currentContinent.get(index);
						chosen = MostVulnerableTerritory(toDefendNext);
					}
				}
			}
			//If we are on full offence, we add units close to our ennemi to finish them
			else
			{
				chosen = FindNearestTerritoryToEnnemi();
			}
			return chosen;
		}
		catch(RuntimeException e)
		{
			System.out.println("Exception occured in Choosing the Territory " + e.getMessage());
			return null;

		}
	}