public static <T> void shuffle(final List<T> list) {
		shuffle(list, RandomRegistry.random());
	}
Randomize the {@code list} using the given {@link Random} object. The used
shuffling algorithm is from D. Knuth TAOCP, Seminumerical Algorithms,
Third edition, page 142, Algorithm S (Selection sampling technique).

@param list the {@code array} to randomize.
@param <T> the component type of the array to randomize.
@throws NullPointerException if the give list is {@code null}.
jenetics/src/test/java/io/jenetics/util/lists.java