private static void print(
		final PrintStream writer,
		final Optimize opt,
		final List<Selector<?, ?>> selectors,
		final List<?> parameters,
		final List<Histogram> histograms,
		final int populationCount,
		final int loops
	) {
		final NumberFormat format = NumberFormat.getNumberInstance(Locale.ENGLISH);
		format.setMinimumFractionDigits(15);
		format.setMaximumFractionDigits(15);

		printt(writer,
			"Creating selector distribution: %s",
			new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date())
		);
		printv(writer);

		println(
			writer,
			"# %-76s#",
			format("Selector distributions (opt=%s, npop=%d, loops=%d):",
				opt,
				populationCount,
				loops
			)
		);
		for (Selector<?, ?> selector : selectors) {
			println(writer, "# %-76s#", format("   - %s", selector));
		}
		println(writer, "#=============================================================================#");

		final String header = parameters.stream()
			.map(Objects::toString)
			.collect(Collectors.joining(",", "", ""));

		writer.println();
		writer.println(header);

		final double[][] array = histograms.stream()
			.map(hist -> Basics.normalize(
				hist.buckets().stream()
					.mapToLong(Histogram.Bucket::count)
					.toArray()
			))
			.toArray(double[][]::new);

		for (int i = 0; i < array[0].length; ++i) {
			for (int j = 0; j < array.length; ++j) {
				writer.print(format.format(array[j][i]));
				if (j < array.length - 1) {
					writer.print(',');
				}
			}
			writer.println();
		}
	}
Print the list of histogram as CSV to the given writer.

@param writer the print writer where the histograms are printed
@param parameters the selector creation parameters
@param histograms the histograms to print
jenetics/src/test/java/io/jenetics/SelectorTester.java