public static <O, I> Iterator<I> start(Iterator<O> outer,
			Function<O, Iterator<? extends I>> innerFactory) {
		return new NestedIterator<>(outer, innerFactory);
	}
TODO Document me

Note the innerFactory may return null to skip an outer element.

TODO: Test innerFactory returning null.

@param <O>
@param <I>
Ghidra/Debug/ProposedUtils/src/main/java/generic/NestedIterator.java