*/
@Override
public Configuration next() throws NoNextVariableException {
if (finished) {
throw new NoNextVariableException();
}
ConfigurationInfos newConfigInfos = null;
// CancelCriteria
if (meetCancelCriteria(getState())) {
SimSystem.report(Level.INFO, "Optimization meets a cancel criteria.");
throw new NoNextVariableException();
}
// check if further replication of a former Configuration is needed
// if so, put it into the running pool and return it
if (configsWaitingForFurtherReplication.size() > 0) {