public Tile nearestUndefendedCity()
	{
		City nearest = null;
		if (owner.cities.size() > 0)
		{
			for (int i = 0; i < owner.cities.size(); i++)
			{
				City candidate = owner.cities.get(i);
				if (candidate.location.occupants.size() > 1)
					continue;
				else if (candidate.location.occupants.size() < 3)
					if (candidate.location.equals(this.location)) 
						return candidate.location;
				if (nearest != null)
				{
					if (candidate.location.dist(location) < nearest.location.dist(location)) nearest = candidate;
				}
				else
				{
					nearest = candidate;
				}
			}
		}
		if (nearest != null)
			return nearest.location;
		return null;
	}