code: @Override
  	public void apply() throws ContradictionException {
  		if (branch == 1) {
  			if (to == -1) {
  				assignment.apply(var, from, this);
  			} else {
  				assignment.apply(var, from, to, this);
  			}
  		} else if (branch == 2) {
  			if (to == -1) {
  				assignment.unapply(var, from, this);
  			} else {
  				assignment.unapply(var, from, to, this);
  			}
  		}
  	}
docs: ***********************************************************************************