private void createMatchingWindow() {
		Window parentWindow = WindowUtilities.windowForComponent(this);

		if (parentWindow == null) {
			// maybe we are in a transition phase?
			return;
		}

		// We need to know when to change the size and location of our window.  We call remove
		// first, in case we've already added the listener before
		parentWindow.removeComponentListener(parentWindowListener);
		parentWindow.addComponentListener(parentWindowListener);

		matchingWindow = new JWindow(parentWindow);
		matchingWindow.setFocusable(false);
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED,
			new GColor("color.border.bevel.highlight"), new GColor("color.border.bevel.shadow")));
		scrollPane.setFocusable(false);
		scrollPane.getVerticalScrollBar().setFocusable(false);
		scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		scrollPane.getViewport().add(list);

		matchingWindow.getContentPane().add(scrollPane);
		matchingWindow.setSize(MIN_WIDTH, matchingWindowHeight);

		addUpdateListeners();

		createToolTipWindow(parentWindow);
	}
Removes the given listener from this class if it has previously been added.
@param listener The listener to remove.
Ghidra/Framework/Docking/src/main/java/docking/widgets/DropDownTextField.java