private void filterOnRawColumnValue(long filterValue) throws Exception {

		RowFilterTransformer<TestRowObject> transformer = value -> {
			List<String> result = Arrays.asList(Long.toString(value.getLongValue()));
			return result;
		};

		FilterOptions options =
			new FilterOptions(TextFilterStrategy.MATCHES_EXACTLY, false, true, false);
		TextFilterFactory textFactory = options.getTextFilterFactory();
		TextFilter textFilter = textFactory.getTextFilter(Long.toString(filterValue));

		spyFilter = new SpyTextFilter<>(textFilter, transformer, recorder);

		runSwing(() -> model.setTableFilter(spyFilter));

		waitForNotBusy();
		waitForTableModel(model);
		waitForSwing();
	}
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