protected static SingleBenchmarkResult createMerge(
            SolverBenchmarkResult solverBenchmarkResult, ProblemBenchmarkResult problemBenchmarkResult,
            SingleBenchmarkResult oldResult) {
        SingleBenchmarkResult newResult = new SingleBenchmarkResult(solverBenchmarkResult, problemBenchmarkResult);
        newResult.subSingleBenchmarkResultList = new ArrayList<>(oldResult.getSubSingleBenchmarkResultList().size());
        int subSingleBenchmarkIndex = 0;
        for (SubSingleBenchmarkResult oldSubResult : oldResult.subSingleBenchmarkResultList) {
            SubSingleBenchmarkResult.createMerge(newResult, oldSubResult, subSingleBenchmarkIndex);
            subSingleBenchmarkIndex++;
        }
        newResult.median = oldResult.median;
        newResult.best = oldResult.best;
        newResult.worst = oldResult.worst;
        solverBenchmarkResult.getSingleBenchmarkResultList().add(newResult);
        problemBenchmarkResult.getSingleBenchmarkResultList().add(newResult);
        return newResult;
    }
protected static SingleBenchmarkResult createMerge(
            SolverBenchmarkResult solverBenchmarkResult, ProblemBenchmarkResult problemBenchmarkResult,
            SingleBenchmarkResult oldResult) {
        SingleBenchmarkResult newResult = new SingleBenchmarkResult(solverBenchmarkResult, problemBenchmarkResult);
        newResult.subSingleBenchmarkResultList = new ArrayList<>(oldResult.getSubSingleBenchmarkResultList().size());
        int subSingleBenchmarkIndex = 0;
        for (SubSingleBenchmarkResult oldSubResult : oldResult.subSingleBenchmarkResultList) {
            SubSingleBenchmarkResult.createMerge(newResult, oldSubResult, subSingleBenchmarkIndex);
            subSingleBenchmarkIndex++;
        }
        newResult.median = oldResult.median;
        newResult.best = oldResult.best;
        newResult.worst = oldResult.worst;
        solverBenchmarkResult.getSingleBenchmarkResultList().add(newResult);
        problemBenchmarkResult.getSingleBenchmarkResultList().add(newResult);
        return newResult;
    }
protected static SingleBenchmarkResult createMerge ( SolverBenchmarkResult solverBenchmarkResult , ProblemBenchmarkResult problemBenchmarkResult , SingleBenchmarkResult oldResult ) { SingleBenchmarkResult newResult = new SingleBenchmarkResult ( solverBenchmarkResult , problemBenchmarkResult ) ; newResult . subSingleBenchmarkResultList = new ArrayList <> ( oldResult . getSubSingleBenchmarkResultList ( ) . size ( ) ) ; int subSingleBenchmarkIndex = 0 ; for ( SubSingleBenchmarkResult oldSubResult : oldResult . subSingleBenchmarkResultList ) { SubSingleBenchmarkResult . createMerge ( newResult , oldSubResult , subSingleBenchmarkIndex ) ; subSingleBenchmarkIndex ++ ; } newResult . median = oldResult . median ; newResult . best = oldResult . best ; newResult . worst = oldResult . worst ; solverBenchmarkResult . getSingleBenchmarkResultList ( ) . add ( newResult ) ; problemBenchmarkResult . getSingleBenchmarkResultList ( ) . add ( newResult ) ; return newResult ; }
************************************************************************
************************************************************************