@Override
	public void propagate(int evtmask) throws ContradictionException {
		if (PropagatorEventType.isFullPropagation(evtmask)) {
			for (int i = 0; i < n; i++) {
				e1[i].set(i);
				e2[i].set(i);
				size[i].set(1);
				g.removeArc(i,i,this);
			}
			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();
	}
@ Override public void propagate ( int evtmask ) throws ContradictionException { if ( PropagatorEventType . isFullPropagation ( evtmask ) ) { for ( int i = 0 ; i < n ; i ++ ) { e1 [ i ] . set ( i ) ; e2 [ i ] . set ( i ) ; size [ i ] . set ( 1 ) ; g . removeArc ( i , i , this ) ; } 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 ( ) ; }
***********************************************************************************