private Address maybePushIteratorsForward() {
		Set<SearchAddressIterator> keys = lastAddressMap.keySet();
		for (SearchAddressIterator iterator : keys) {
			Address current = lastAddressMap.get(iterator);
			if (isGreaterThanLastAddress(current)) {
				continue; // last value for this iterator is still good--don't move forward
			}

			Address address = movePastLastAddress(iterator);
			lastAddressMap.put(iterator, address);
		}
		return getAlreadyFoundNextAddress();
	}
An iterator for returning addresses that can take in 1 or more search iterators to iterator over
addresses provided by each of those search iterators.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/searchtext/ListingDisplaySearchAddressIterator.java