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

		DBCachedObjectStoreValueSubCollection<MyObject> tailValues = map.tailMap(0L, true).values();
		MyObject objN3 = store.getObjectAt(-3);
		MyObject objP1 = store.getObjectAt(1);
		MyObject objP3 = store.getObjectAt(3);

		try (Transaction tid = trans()) {
			assertFalse(map.subMap(0L, 0L).values().retainAll(List.of()));
			assertFalse(tailValues.retainAll(List.of("Wrong type", objP3, objP1)));
			assertTrue(tailValues.retainAll(List.of("Wrong type", objP1)));
			assertFalse(tailValues.retainAll(List.of("Wrong type", objP1)));
		}

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