private Component buildPatternsPanel() {
		searchTextComboBox = new GhidraComboBox<>();
		searchTextComboBox.setEditable(true);
		searchTextComboBox.setToolTipText("Enter the text to search for");
		searchTextComboBox.getTextField()
				.getDocument()
				.addDocumentListener(new DocumentListener() {

					@Override
					public void removeUpdate(DocumentEvent e) {
						updateDialogStatus();
					}

					@Override
					public void insertUpdate(DocumentEvent e) {
						updateDialogStatus();
					}

					@Override
					public void changedUpdate(DocumentEvent e) {
						updateDialogStatus();
					}
				});

		replaceTextComboBox = new GhidraComboBox<>();
		replaceTextComboBox.setEditable(true);
		replaceTextComboBox.setToolTipText("Enter the text to replace matched search text");

		searchTextComboBox.addActionListener(e -> pressOk());
		replaceTextComboBox.addActionListener(e -> pressOk());

		JPanel panel = new JPanel(new PairLayout(10, 10));
		panel.add(new JLabel("Find:", SwingConstants.RIGHT));
		panel.add(searchTextComboBox);
		panel.add(new JLabel("Replace with:", SwingConstants.RIGHT));
		panel.add(replaceTextComboBox);

		return panel;
	}
Returns the query generated by the dialog when the "Ok" button is pressed or null if the
dialog was cancelled.
@return the SearchAndReplaceQuery generated by the information in the dialog when the 
"Ok" button is pressed, or null if the dialog was cancelled.
Ghidra/Features/Base/src/main/java/ghidra/features/base/replace/SearchAndReplaceDialog.java