public XYSeriesCollection createFinalRobustnessDataset(Map<Integer, List<Double>> robustnessHistory) {
        final XYSeriesCollection dataset = new XYSeriesCollection();
        List<SummaryStatistics> sumValues = new LinkedList<>();
        SummaryStatistics meanRobustness = new SummaryStatistics();
        for (Integer run : robustnessHistory.keySet()) {
            final XYSeries serie = new XYSeries(run);
            meanRobustness.addValue(robustnessHistory.get(run).get(0));
            int index = 0;
            for (Double value : robustnessHistory.get(run)) {
                if (index > 0) {
                    serie.add(index - 1, value);
                    if (sumValues.size() < index) {
                        sumValues.add(new SummaryStatistics());
                    }
                    sumValues.get(index - 1).addValue(value);
                }
                index++;
            }
            dataset.addSeries(serie);
        }
        final XYSeries serie = new XYSeries("Mean = " + meanRobustness.getMean());
        int index = 0;
        for (SummaryStatistics sumValue : sumValues) {
            serie.add(index, sumValue.getMean());
            index++;
        }
        dataset.addSeries(serie);
        final XYSeries serieMax = new XYSeries("Max = " + meanRobustness.getMax());
        for (Integer run : robustnessHistory.keySet()) {
            if (robustnessHistory.get(run).get(0) == meanRobustness.getMax()) {
                index = 0;
                for (Double value : robustnessHistory.get(run)) {
                    if (index > 0) {
                        serieMax.add(index - 1, value);
                    }
                    index++;
                }
            }
        }
        dataset.addSeries(serieMax);

        return dataset;
    }