public synchronized void addAllItems(Collection<? extends T> c) {
		Stream<? extends T> s = c.stream().filter(t -> {
			K k = keyFunc.apply(t);
			if (map.containsKey(k)) {
				return false;
			}
			return true;
		});
		addAll(addRowsFor(s));
	}
A table model where the columns are enumerated, and the rows are wrappers on the objects being
displayed

@param <C> the type of columns
@param <K> the type of (immutable) keys for uniquely identifying an object
@param <R> the type of rows
@param <T> the type of objects being wrapped
Ghidra/Debug/ProposedUtils/src/main/java/docking/widgets/table/RowWrappedEnumeratedColumnTableModel.java