@Override
public void apply() throws ContradictionException {
ISearchLoop mSearchLoop = dynamicBacktracking.getSolver().getSearchLoop();
IEnvironment environment = dynamicBacktracking.getSolver().getEnvironment();
Decision dec;
// retrieve the decision applied BEFORE the decision to refute, which is the last one in the decision_path
Decision dec2ref = decision_path.getLast();
Decision previous = dec2ref.getPrevious();
int swi = dec2ref.getWorldIndex();
//assert swi ==environment.getWorldIndex();
// simulate open_node and rebuild decisions history
dec = decision_path.pollFirst();