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

		assertEquals(-1, keySet.subSet(-2L, true, 2L, true).ceiling(-1L).longValue());
		assertEquals(-1, keySet.subSet(-1L, true, 2L, true).ceiling(-1L).longValue());
		assertEquals(1, keySet.subSet(-1L, false, 2L, true).ceiling(-1L).longValue());
		assertNull(keySet.subSet(1L, false, 2L, true).ceiling(-1L));

		assertEquals(1, rKeySet.subSet(2L, true, -2L, true).ceiling(1L).longValue());
		assertEquals(1, rKeySet.subSet(1L, true, -2L, true).ceiling(1L).longValue());
		assertEquals(-1, rKeySet.subSet(1L, false, -2L, true).ceiling(1L).longValue());
		assertNull(rKeySet.subSet(-1L, false, -2L, true).ceiling(1L));
	}
This exists to verify behavior in {@link #testAsValuesSubIterator()}
Ghidra/Debug/ProposedUtils/src/test/java/ghidra/util/database/DBCachedObjectStoreTest.java