private Result calculateTotalAverageNrCells(Result result)
	{
		ArrayList<Integer> dataPoints_cells = new ArrayList<>();
		ArrayList<Integer> dataPoints_gens = new ArrayList<>();
		float nrCells = 0f;
		float nrGenerations = 0f;
		float nrCells_stdev = 0f;
		float nrGens_stdev = 0f;
		int N_cells = 0;
		int N_gens = 0;

		for (int Run = 0; Run < rawGenerationData.size(); Run++)
		{
			nrGenerations += rawGenerationData.size();
			dataPoints_gens.add(rawGenerationData.size());
			N_gens++;
			for (int generation = 0; generation < rawGenerationData.get(Run).size(); generation++)
			{
				nrCells += rawGenerationData.get(Run).get(generation).size();
				dataPoints_cells.add(rawGenerationData.get(Run).get(generation).size());
				N_cells++;
			}
		}
		result.totalAverageCells = nrCells / N_cells;
		result.totalAverageGens = nrGenerations / N_gens;

		for (int i = 0; i < dataPoints_cells.size(); i++)
		{
			int dataPoint = dataPoints_cells.get(i);
			nrCells_stdev += Math.pow(dataPoint - result.totalAverageCells, 2);
		}
		for (int i = 0; i < dataPoints_gens.size(); i++)
		{
			int dataPoint = dataPoints_gens.get(i);
			nrGens_stdev += Math.pow(dataPoint - result.totalAverageGens, 2);
		}
		result.totalAverageCells_stdev = (float) (Math.sqrt(nrCells_stdev / N_cells));
		result.totalAverageGens_stdev = (float) (Math.sqrt(nrGens_stdev / N_gens));
		return result;
	}