public List<Cell> getUntouchedNeighbours(int x, int y) {
        if (x < 0 || x >= size || y < 0 || y >= size) {
            throw new IllegalArgumentException(
                    "Non valid coordinates are being accessed");
        }
        ArrayList<Cell> neighbours = new ArrayList<Cell>();
        for (int i = -1; i < 2; i++) {
            for (int j = -1; j < 2; j++) {
                if (x + i >= 0 && x + i < size && y + j >= 0 && y + j < size) {
                    if (!(x + i == x && y + j == y)) {
                        Cell cell = getCell(x + i, y + j);
                        if (cell.getState() == "untouched") {
                            neighbours.add(cell);
                        }
                    }
                }
            }

        }
        return neighbours;
    }