super(variables);
this.variables = variables.clone();
Solver solver = variables[0].getSolver();
counter = new FailPerPropagator(solver.getCstrs(), solver);
pid2ari = new TIntObjectHashMap<>();
pid2arity = new TIntIntHashMap(10, 0.5F, -1, -1);
bests = new TIntArrayList();
this.valueSelector = valueSelector;
decisionPool = new PoolManager<>();
random = new java.util.Random(seed);
}