Валидатор по всем пунктам пропустил, но мины в самом приложении не появляются, как будто вероятность появления мины 0%, хотя указан шанс 1к10, ошибку в коде найти не могу, можете подсказать?
public class MinesweeperGame extends Game {
    private static final int SIDE = 9;
    private GameObject[][] gameField = new GameObject[SIDE][SIDE];
    boolean isMine = getRandomNumber(10) == 1;
    private int countMinesOnField;
    private final static String MINE = "\uD83D\uDCA3";


    @Override
    public void initialize() {
        setScreenSize(SIDE, SIDE);
        createGame();
    }

    private void createGame() {
        for (int y = 0; y < SIDE; y++) {
            for (int x = 0; x < SIDE; x++) {
                if (isMine) {
                    countMinesOnField++;
                }
                gameField[y][x] = new GameObject(x, y, isMine);
                setCellColor(x, y, Color.ORANGE);
            }
        }
        countMineNeighbors();
    }

    //должен для каждой ячейки "не мины" из матрицы gameField подсчитать количество
    // соседних ячеек "мин" и установить это значение в поле countMineNeighbors.
    private int countMineNeighbors() {
        List<GameObject> list;                             //создаем список полей которые "не мины"
        for (int y = 0; y < SIDE; y++) {                   //проходимся по каждому полю gameField
            for (int x = 0; x < SIDE; x++) {               //все еще проходимся по каждому полю gameField
                if (!gameField[y][x].isMine) {              //если поле "не мина"
                    list = getNeighbors(gameField[y][x]);  //получаем соседей этого поля и заносим их в list
                    for (GameObject gameObject : list) {   //прогоняем gameObject через list
                        if (gameObject.isMine) {           //если gameObject соседей мина увеличиваем  countMineNeighbors на 1
                            gameField[y][x].countMineNeighbors++;
                        }
                    }
                }
            }
        }
        return countMinesOnField;
    }


    private List<GameObject> getNeighbors(GameObject gameObject) {
        List<GameObject> result = new ArrayList<>();
        for (int y = gameObject.y - 1; y <= gameObject.y + 1; y++) {
            for (int x = gameObject.x - 1; x <= gameObject.x + 1; x++) {
                if (y < 0 || y >= SIDE) {
                    continue;
                }
                if (x < 0 || x >= SIDE) {
                    continue;
                }
                if (gameField[y][x] == gameObject) {
                    continue;
                }
                result.add(gameField[y][x]);
            }
        }
        return result;
    }

    private void openTile(int x, int y) {   //отрисовывать MINE, если gameObject по текущим координатам является миной.
        gameField[y][x].isOpen = true;
        setCellColor(x,y,Color.VIOLET);

        if (gameField[y][x].isMine) setCellValue(x, y, MINE);
            //отрисовывать количество соседей-мин, если gameObject по текущим координатам не является миной.Используй метод setCellNumber(int, int, int).
        else setCellNumber(x, y, (gameField[y][x]).countMineNeighbors);
            //элементу матрицы gameField должно устанавливаться значение поля isOpen, равное true,
            //и отрисовываться фон ячейки с помощью метода setCellColor(int, int, Color). Например, в Color.GREEN.
    }

    @Override
    public void onMouseLeftClick(int x, int y) { //В методе onMouseLeftClick(int, int) должен быть вызван метод openTile(int, int).
        super.onMouseLeftClick(x, y);
        openTile(x,y);
    }
}