protected static SingleBenchmarkResult createMerge(
      SolverBenchmarkResult solverBenchmarkResult,
      ProblemBenchmarkResult problemBenchmarkResult,
      SingleBenchmarkResult oldResult) {
    SingleBenchmarkResult newResult =
        new SingleBenchmarkResult(solverBenchmarkResult, problemBenchmarkResult);
    newResult.pureSingleStatisticList =
        new ArrayList<PureSingleStatistic>(oldResult.pureSingleStatisticList.size());
    for (PureSingleStatistic oldSingleStatistic : oldResult.pureSingleStatisticList) {
      newResult.pureSingleStatisticList.add(
          oldSingleStatistic.getStatisticType().buildPureSingleStatistic(newResult));
    }

    newResult.initSingleStatisticMap();
    for (SingleStatistic singleStatistic : newResult.effectiveSingleStatisticMap.values()) {
      singleStatistic.setPointList(
          oldResult.getSingleStatistic(singleStatistic.getStatisticType()).getPointList());
    }
    // Skip oldResult.reportDirectory
    // Skip oldResult.usedMemoryAfterInputSolution
    newResult.succeeded = oldResult.succeeded;
    newResult.score = oldResult.score;
    newResult.timeMillisSpent = oldResult.timeMillisSpent;
    newResult.calculateCount = oldResult.calculateCount;

    solverBenchmarkResult.getSingleBenchmarkResultList().add(newResult);
    problemBenchmarkResult.getSingleBenchmarkResultList().add(newResult);
    return newResult;
  }
 public void initSingleStatisticMap() {
   effectiveSingleStatisticMap =
       new HashMap<StatisticType, SingleStatistic>(
           problemBenchmarkResult.getProblemStatisticList().size());
   for (ProblemStatistic problemStatistic : problemBenchmarkResult.getProblemStatisticList()) {
     SingleStatistic singleStatistic = problemStatistic.createSingleStatistic(this);
     effectiveSingleStatisticMap.put(singleStatistic.getStatisticType(), singleStatistic);
   }
   for (PureSingleStatistic pureSingleStatistic : pureSingleStatisticList) {
     effectiveSingleStatisticMap.put(pureSingleStatistic.getStatisticType(), pureSingleStatistic);
   }
 }