private Iterator<? extends I> prepNextIterator() {
		while (outer.hasNext()) {
			Iterator<? extends I> candidate = innerFactory.apply(outer.next());
			if (candidate != null && candidate.hasNext()) {
				return candidate;
			}
		}
		return null;
	}
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