public static List<Region> getClosestOwnedNeighborsToBorder(BotState state, Region inRegion) {
		int minDistance = inRegion.getDistanceToBorder();
		for (Region neighbor : inRegion.getOwnedNeighbors(state)) {
			if (neighbor.getDistanceToBorder() < minDistance) {
				minDistance = neighbor.getDistanceToBorder();
			}
		}
		List<Region> neighborsWithMinDistance = new ArrayList<>();
		for (Region neighbor : inRegion.getNeighbors()) {
			if(neighbor.getDistanceToBorder() == minDistance){
				neighborsWithMinDistance.add(neighbor);
			}
		}
		List<Region> out = new ArrayList<>();
		while(!neighborsWithMinDistance.isEmpty()){
			Region highestPriorityNeighbor = neighborsWithMinDistance.get(0);
			for(Region region : neighborsWithMinDistance){
				if(region.getAdjustedRegionValue(state) > highestPriorityNeighbor.getAdjustedRegionValue(state)){
					highestPriorityNeighbor = region;
				}
			}
			neighborsWithMinDistance.remove(highestPriorityNeighbor);
			out.add(highestPriorityNeighbor);
		}

		return out;
	}