public static Knapsack of(final int itemCount, final RandomGenerator random) {
		requireNonNull(random);

		return new Knapsack(
			Stream.generate(() -> Item.random(random))
				.limit(itemCount)
				.collect(ISeq.toISeq()),
			itemCount*100.0/3.0
		);
	}
Factory method for creating <i>same</i> Knapsack problems for testing
purpose.

@param itemCount the number of knapsack items in the basic set
@param random the random engine used for creating random knapsack items.
       This allows to create reproducible item sets and reproducible
       {@code Knapsack} problems, respectively.
@return a {@code Knapsack} problem object (for testing purpose).
jenetics.example/src/main/java/io/jenetics/example/Knapsack.java