code: public void buildSolverBenchmark(SolverConfigContext solverConfigContext, PlannerBenchmarkResult plannerBenchmark,
              Solution_[] extraProblems) {
          validate();
          SolverBenchmarkResult solverBenchmarkResult = new SolverBenchmarkResult(plannerBenchmark);
          solverBenchmarkResult.setName(name);
          solverBenchmarkResult.setSubSingleCount(ConfigUtils.inheritOverwritableProperty(subSingleCount, 1));
          solverBenchmarkResult.setSolverConfig(solverConfig);
          SolutionDescriptor<Object> solutionDescriptor = solverConfig.buildSolutionDescriptor(solverConfigContext);
          for (Solution_ extraProblem : extraProblems) {
              if (!solutionDescriptor.getSolutionClass().isInstance(extraProblem)) {
                  throw new IllegalArgumentException("The solverBenchmark name (" + name
                          + ") for solution class (" + solutionDescriptor.getSolutionClass()
                          + ") cannot solve a problem (" + extraProblem
                          + ") of class (" + (extraProblem == null ? null : extraProblem.getClass()) + ").");
              }
          }
          solverBenchmarkResult.setScoreDefinition(
                  solutionDescriptor.getScoreDefinition());
          solverBenchmarkResult.setSingleBenchmarkResultList(new ArrayList<>());
          ProblemBenchmarksConfig problemBenchmarksConfig_
                  = problemBenchmarksConfig == null ? new ProblemBenchmarksConfig()
                  : problemBenchmarksConfig;
          plannerBenchmark.getSolverBenchmarkResultList().add(solverBenchmarkResult);
          problemBenchmarksConfig_.buildProblemBenchmarkList(solverConfigContext, solverBenchmarkResult, extraProblems);
      }
docs: ************************************************************************