public static void unhideNeighborEmptyCells(BoardModel boardModel, Cell currentCell) {
        currentCell.setVisible(true);

        for (int i = currentCell.getPositionX() - 1; i <= currentCell.getPositionX() + 1; i++) {
            for (int j = currentCell.getPositionY() - 1; j <= currentCell.getPositionY() + 1; j++) {

                if (i == currentCell.getPositionX() && j == currentCell.getPositionY()) {
                    continue;
                }

                if (!checkLimits(i, j, boardModel) || boardModel.getBoard()[i][j].isVisible()) {
                    continue;
                }

                if (boardModel.getBoard()[i][j].isEmpty() || boardModel.getBoard()[i][j].isNumber()) {
                    boardModel.getBoard()[i][j].setVisible(true);
                    unhideCell(boardModel, new Point(i, j));
                }
            }
        }
    }