@Test
	public void testAsKeySetSubRetainAll() {
		populateStore(-3, -1, 1, 3);

		DBCachedObjectStoreKeySubSet tailSet = keySet.tailSet(0L, true);

		try (Transaction tid = trans()) {
			assertFalse(keySet.subSet(0L, 0L).retainAll(List.of()));
			assertFalse(tailSet.retainAll(List.of("Wrong type", 3L, 1L)));
			assertTrue(tailSet.retainAll(List.of("Wrong type", 1L)));
			assertFalse(tailSet.retainAll(List.of("Wrong type", 1L)));
		}

		assertEquals(3, store.getRecordCount());
		assertTrue(store.containsKey(-3));
		assertTrue(store.containsKey(-1));
		assertTrue(store.containsKey(1));
		assertFalse(store.containsKey(3));
	}
This exists to verify behavior in {@link #testAsValuesSubIterator()}
Ghidra/Debug/ProposedUtils/src/test/java/ghidra/util/database/DBCachedObjectStoreTest.java