Fix new violation considered as a bug in SonarQube
A recent update of SonarQube has introduced a new violation considered as a bug: https://sonarqube.ow2.org/project/issues?id=org.ow2.sat4j%3Aorg.ow2.sat4j.pom&resolved=false&types=BUG
Refactor this code so that the Iterator supports multiple traversal, aka iterator() method should not return this.
There are three cases in which it happens, related to multi-criteria optimization. It would be nice to fix this before 2.3.6 release.