public static boolean tryAvoidingEnemyTanks(Unit unit) {

		// Our own tanks should engage enemy tanks.
		if (unit.getType().isTank()) {
			return false;
		}

		Collection<Unit> allKnownEnemyTanks = getEnemyTanksThatAreDangerouslyClose(unit);

		for (Unit enemyTank : allKnownEnemyTanks) {
			double distance = enemyTank.distanceTo(unit);
			if (distance < ALWAYS_MOVE_TO_ENEMY_TANK_IF_CLOSER_THAN) {
				if (distance < ALWAYS_ATTACK_ENEMY_TANK_IF_CLOSER_THAN) {
					UnitActions.attackTo(unit, enemyTank);
				} else {
					UnitActions.moveTo(unit, enemyTank);
				}
			}
		}

		if (allKnownEnemyTanks.size() <= MAXIMUM_TANKS_TO_ENGAGE_WITH_NORMAL_UNITS) {
			return false;
		}

		for (Unit enemyTank : allKnownEnemyTanks) {
			UnitActions.moveAwayFrom(unit, enemyTank);
			unit.setAiOrder("Avoid siege tank");
			return true;
		}

		return false;
	}