}
for (int i = 0; i < alldiffLayers.length; i++) {
BitSet disjoint = alldiffLayers[i];
IntVar[] tvars = new IntVar[disjoint.cardinality()];
for (int k = 0, j = disjoint.nextSetBit(0); j >= 0; j = disjoint.nextSetBit(j + 1), k++) {
tvars[k] = vars[j];
}
solver.post(IntConstraintFactory.alldifferent(tvars, "BC"));
}
}