BasicPlumbingTermination basicPlumbingTermination = new BasicPlumbingTermination(daemon_); Termination termination = terminationConfig_.buildTermination(configPolicy, basicPlumbingTermination); List<Phase<Solution_>> phaseList = buildPhaseList(configPolicy, bestSolutionRecaller, termination); return new DefaultSolver<>(environmentMode_, randomFactory, bestSolutionRecaller, basicPlumbingTermination, termination, phaseList, solverScope);