environmentMode, solutionDescriptor);
solver.setConstraintMatchEnabledPreference(environmentMode.isAsserted());
solver.setScoreDirectorFactory(scoreDirectorFactory);
HeuristicConfigPolicy configPolicy = new HeuristicConfigPolicy(
environmentMode, scoreDirectorFactory);
TerminationConfig terminationConfig_ = terminationConfig == null ? new TerminationConfig()
: terminationConfig;
Termination termination = terminationConfig_.buildTermination(configPolicy, basicPlumbingTermination);
solver.setTermination(termination);
BestSolutionRecaller bestSolutionRecaller = buildBestSolutionRecaller(environmentMode);
solver.setBestSolutionRecaller(bestSolutionRecaller);
if (ConfigUtils.isEmptyCollection(phaseConfigList)) {
throw new IllegalArgumentException(