code: @Override
  	public void propagate(int evtmask) throws ContradictionException {
  		for (int i = 0; i < n; i++) {
  			color[i].set(i);
  			size[i].set(1);
  			mate[i] = -1;
  		}
  		ISet nei;
  		for (int i = 0; i < n; i++) {
  			nei = g.getMandNeighOf(i);
  			for (int j : nei) {
  				if (i < j) {
  					enforce(i, j);
  				}
  			}
  		}
  		gdm.unfreeze();
  	}
docs: ***********************************************************************************