private Address getAlreadyFoundNextAddress() {
		List<Address> addresses = new ArrayList<Address>();
		Collection<Address> values = lastAddressMap.values();
		for (Address address : values) {
			if (address != null) {
				addresses.add(address);
			}
		}

		// smallest first for forward
		Collections.sort(addresses);
		if (!forward) {
			Collections.reverse(addresses);
		}

		for (Address address : addresses) {
			if (isGreaterThanLastAddress(address)) {
				return address;
			}
		}

		return null;
	}
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