@Override
    public void clean() {
        for (int i = 1; i < 10; i += 1) {
            ArrayList<Point> points = map[i];
            if (points != null && points.size() == 2) {
                System.out.println("found " + i + " at " + points);
                for (int j = i + 1; j < 10; j += 1) {
                    if (map[j] != null && areSameLists(points, map[j])) {
                        System.out.println("found " + j + " at " + map[j]);
                        System.out.println("> " + i + " and " + j + " at " + points);
                        map[j] = null;
                        for (Point point : points) {
                            grid.getSquare(point.row, point.col).removeVariantsBut(
                                    Arrays.asList(i, j));
                        }
                        break;
                    }
                }
            }
        }
    }