static <T> ISeq<T> of(
		final Supplier<? extends T> supplier,
		final int length
	) {
		requireNonNull(supplier);
		Requires.nonNegative(length);

		return length == 0
			? empty()
			: MSeq.<T>ofLength(length).fill(supplier).toISeq();
	}
Creates a new sequence, which is filled with objects created be the given
{@code supplier}.

@since 3.2

@param <T> the element type of the sequence
@param supplier the {@code Supplier} which creates the elements, the
       returned sequence is filled with
@param length the length of the returned sequence
@return a new sequence filled with elements given by the {@code supplier}
@throws NegativeArraySizeException if the given {@code length} is
        negative
@throws NullPointerException if the given {@code supplier} is
        {@code null}
jenetics/src/main/java/io/jenetics/util/ISeq.java