public interface SolutionIterator<SolutionType extends Solution>
Interface of a generic solution iterator that iterates through a collection of solutions.
The exhaustive search algorithm depends on solution iterators to evaluate all possible solutions. To use
this algorithm for a specific problem, a solution iterator has to be created first, which traverses the entire
solution space corresponding to this problem.