private void validateChosenItemAgainstText(boolean isListShowing) {
		//
		// If the text differs from that of the chosen item, then the implication is the user has
		// changed the text after the last time an item was chosen and after the drop-down list was
		// closed (if they haven't changed the text, then it will have been set to the value of the
		// currently selected item).  The user will do this if they want a new item that is not in
		// the list, but the new item starts with the same value as something that is in the list.
		//
		if (selectedValue == null) {
			return; // nothing to validate
		}

		String selectedValueText = dataModel.getDisplayText(selectedValue);
		String textFieldText = getText();
		if (textFieldText == null || textFieldText.isEmpty()) {
			return; // no text to validate against
		}

		// clear the value if the text is different (unless it starts with the selected value,
		// which implies the user had added some text, like a '*' character
		if (!selectedValueText.equals(textFieldText) &&
			!textFieldText.startsWith(selectedValueText)) {
			selectedValue = null; // the user has changed the text
		}
	}
Constructor.

@param dataModel provides element storage and search capabilities to this component.
@param updateMinDelay suggestion list refresh delay, triggered after search results have
changed. Too low a value may cause an inconsistent view as filtering tasks complete; too
high a value delivers an unresponsive user experience.
Ghidra/Framework/Docking/src/main/java/docking/widgets/DropDownTextField.java