@Test
	public void testRefilterHappensAfterRemoveAddItem_ItemAddedPassesFilter() throws Exception {

		int newRowIndex = getRowCount() + 1;

		filterOnRawColumnValue(newRowIndex);
		resetSpies();

		assertTableDoesNotContainValue(newRowIndex);

		TestRowObject newItem = addItemToModel(newRowIndex);
		assertDidFilter();
		assertTableContainsValue(newRowIndex);

		removeItemFromModel(newItem);
		assertDidFilter();
		assertTableDoesNotContainValue(newRowIndex);

		addItemToModel(newRowIndex);
		assertDidFilter();
		assertTableContainsValue(newRowIndex);
	}
Specifically tests the sub-filtering behavior of the {@link ThreadedTableModel}, as well
as some other more complicated filtering combinations
Ghidra/Framework/Docking/src/test.slow/java/docking/widgets/table/threaded/DefaultThreadedTableFilterTest.java