private void doUpdateDisplayContents() {
		if (focus == null) {
			return;
		}
		if (completionWindow == null || !completionWindow.isVisible()) {
			return;
		}
		String text = getPrefix(focus);
		final Collection<T> completions = model.computeCompletions(text);
		if (completions == null || completions.size() == 0) {
			setCompletionListVisible(false);
			return;
		}
		doUpdateDisplayLocation();
		list.setModel(blankModel);
		listModel.clear();
		for (T t : completions) {
			listModel.addElement(t);
		}
		list.setModel(listModel);
		select(0);
	}
The actual implementation of updateDisplayContents, which gets scheduled asynchronously.
Ghidra/Framework/Docking/src/main/java/docking/widgets/autocomplete/TextFieldAutocompleter.java