@Override
	public synchronized boolean retainAll(Collection<?> c) {
		WeakHashMap<T, T> newStorage = new WeakHashMap<>(weakHashStorage);
		boolean changed = false;
		for (T t : newStorage.keySet()) {
			if (!c.contains(t)) {
				newStorage.remove(t);
				changed = true;
			}
		}
		weakHashStorage = newStorage;
		return changed;
	}
Adds all items to this set.
<p>
Note: calling this method will only result in one copy operation.  If {@link #add(Object)}
were called instead for each item of the iterator, then each call would copy this set.

@param c the items
Ghidra/Framework/Generic/src/main/java/ghidra/util/datastruct/CopyOnWriteWeakSet.java