nb_vars = variables.length - 1;
this.idms = new IIntDeltaMonitor[vars.length];
for (int i = 0; i < vars.length; i++) {
idms[i] = vars[i].hasEnumeratedDomain() ? vars[i].monitorDelta(this) : IIntDeltaMonitor.Default.NONE;
}
IEnvironment environment = solver.getEnvironment();
both = environment.makeBitSet(nb_vars);
LB = environment.makeInt(0);
UB = environment.makeInt(0);
this.setValues = new TIntHashSet(values);
this.values = setValues.toArray();
Arrays.sort(this.values);
this.occs = new IStateInt[nb_vars];
for (int i = 0; i < nb_vars; i++) {
occs[i] = environment.makeInt(0);
}
rem_proc = new RemProc(this);
}