public void applyConstraint(final Coord from, final Coord to, final Grid<Integer> grid) { final Set<Integer> fromValues = grid.values(from); if (fromValues.size() > 1) { return; } if (fromValues.size() == 0) { // bad soln return; } final Integer fromValueFixed = fromValues.iterator().next(); grid.removeValue(to, fromValueFixed); }