@Override
	protected T seekNext() {
		if (first) {
			first = false;
			return last = wrapped.hasNext() ? wrapped.peek() : null;
		}
		while (wrapped.hasNext() && Objects.equals(last, wrapped.peek())) {
			wrapped.next();
		}
		return last = wrapped.hasNext() ? wrapped.peek() : null;
	}
A filtering iterator which removes repeated objects

<p>
This operates in style to the uniq command on UNIX, which only removes immediate repeats. To
obtain a truly unique iteration, the wrapped iterator must visit elements in sorted order.

@param <T> the type of elements
Ghidra/Debug/ProposedUtils/src/main/java/ghidra/util/UniqIterator.java