private JComponent buildRightSearchInputPanel() {
		JPanel panel = new JPanel(new VerticalLayout(5));
		panel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
		searchButton = new MultiStateButton<Combiner>(initialSearchButtonStates);
		searchButton
				.setStateChangedListener(state -> model.setMatchCombiner(state.getClientData()));
		searchButton.addActionListener(e -> search());
		panel.add(searchButton, BorderLayout.WEST);
		selectionCheckbox = new JCheckBox("Selection Only");
		selectionCheckbox.setSelected(model.isSearchSelectionOnly());
		selectionCheckbox.setEnabled(model.hasSelection());
		selectionCheckbox
				.setToolTipText("If selected, search will be restricted to selected addresses");
		selectionCheckbox.addActionListener(
			e -> model.setSearchSelectionOnly(selectionCheckbox.isSelected()));
		panel.add(selectionCheckbox);
		searchButton.setEnabled(false);
		return panel;
	}
Internal panel of the memory search window that manages the controls for the search feature. This
panel can be added or removed via a toolbar action. This panel is showing by default.
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchControlPanel.java