public void forceOpenCells(int x, int y) {
        final Cell cell = cells[x][y];

        List<Cell> surroundingCells = getSurroundingCells(cell);

        int surroundingFlagged = 0;
        for (Cell c : surroundingCells) {
            final Cell.Type type = c.getType();
            if (type == Cell.Type.FLAGGED || type == Cell.Type.FLAGGED_MINE)
                surroundingFlagged++;
        }
        // Return if the correct number hasnt been marked
        if (surroundingFlagged < cell.surroundingBombs) return;

        // Open the adjacent cells
        for (Cell c : surroundingCells) {
            if (c.getState() == Cell.State.CLOSED)
                openCell(c.x, c.y);
        }
    }