public boolean additionalStrictCheck() {
        for (GridElement ge : g) {
            if (ge instanceof Cell) {
                Cell cell = (Cell) ge;
                if (cell.getDigit() != -1) {
                    if (cell.countYesEdges() != cell.getDigit()) {
                        iV = cell.getY();
                        jV = cell.getX();
                        message = "Cell at row " + iV
                                + " column " + jV
                                + ": incorrect number of edges around";
                        return false;
                    }
                }
            }
            if (ge instanceof Vertex) {
                Vertex vertex = (Vertex) ge;
                 if (vertex.countYesEdges() != 2 && vertex.countYesEdges() != 0) {
                     iV = vertex.getY();
                     jV = vertex.getX();
                     message = "Vertex at row " + iV
                                + " column " + jV
                                + ": incorrect number of edges around";
                    return false;
                }
            }
        }
        return true;
    }