private JComponent buildPanel() {
		JPanel panel = new JPanel();
		panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
		panel.setLayout(new PairLayout(5, 5));

		panel.add(getPreparedLabel("Function ID: "));
		functionIdTextField = getPreparedTextField();
		functionIdTextField.getAccessibleContext().setAccessibleName("Function Id");
		panel.add(functionIdTextField);

		panel.add(getPreparedLabel("Name: "));
		nameTextField = getPreparedTextField();
		nameTextField.getAccessibleContext().setAccessibleName("Name");
		panel.add(nameTextField);

		panel.add(getPreparedLabel("Domain Path: "));
		pathTextField = getPreparedTextField();
		pathTextField.getAccessibleContext().setAccessibleName("Path");
		panel.add(pathTextField);

		panel.add(getPreparedLabel("FH: "));
		fhTextField = getPreparedTextField();
		fhTextField.getAccessibleContext().setAccessibleName("Full Hash");
		panel.add(fhTextField);

		panel.add(getPreparedLabel("XH: "));
		xhTextField = getPreparedTextField();
		xhTextField.getAccessibleContext().setAccessibleName("Specific Hash");
		panel.add(xhTextField);

		functionIdTextField.addActionListener(e -> {
			String text = ((JTextField) e.getSource()).getText();
			Long val = FidDebugUtils.validateHashText(text, "function ID");
			if (val == null) {
				return;
			}
			FidDebugUtils.searchByFunctionID(val.longValue(), service, fidQueryService);
		});
		nameTextField.addActionListener(e -> {
			String text = ((JTextField) e.getSource()).getText();
			FidDebugUtils.searchByName(text, service, fidQueryService);
		});
		pathTextField.addActionListener(e -> {
			String text = ((JTextField) e.getSource()).getText();
			FidDebugUtils.searchByDomainPath(text, service, fidQueryService);

		});
		fhTextField.addActionListener(e -> {
			String text = ((JTextField) e.getSource()).getText();
			Long val = FidDebugUtils.validateHashText(text, "full hash");
			if (val == null) {
				return;
			}
			FidDebugUtils.searchByFullHash(val.longValue(), service, fidQueryService);
		});
		xhTextField.addActionListener(e -> {
			String text = ((JTextField) e.getSource()).getText();
			Long val = FidDebugUtils.validateHashText(text, "specific hash");
			if (val == null) {
				return;
			}
			FidDebugUtils.searchBySpecificHash(val.longValue(), service, fidQueryService);

		});
		panel.getAccessibleContext().setAccessibleName("Fid Database Search");
		return panel;
	}
Dialog for searching Fid Databases for debug purposes.  Entering data in any of the fields
in this dialog will search the database for all records that match any fields that
have data in them and then display the results in a table.
Ghidra/Features/FunctionID/src/main/java/ghidra/feature/fid/debug/FidSearchDebugDialog.java