@Override
	protected JPanel createPanel() {
		JPanel panel = new JPanel();
		BoxLayout boxLayout = new BoxLayout(panel, BoxLayout.Y_AXIS);
		panel.setLayout(boxLayout);
		panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
		for (String currentRegister : extent.getContextRegisters()) {
			JPanel currentRegPanel = new JPanel();
			PairLayout pairLayout = new PairLayout();
			currentRegPanel.setLayout(pairLayout);
			JTextField currentTextField = new JTextField(currentRegister, TEXT_FIELD_COLUMNS);
			currentTextField.setEditable(false);
			currentTextField.getAccessibleContext()
					.setAccessibleName(currentRegister + " Register");
			currentRegPanel.add(currentTextField);
			List<BigInteger> regValues = extent.getValuesForRegister(currentRegister);
			RegisterValueWrapper[] valueArray = new RegisterValueWrapper[regValues.size() + 1];
			valueArray[0] = new RegisterValueWrapper(null);
			for (int i = 1; i < regValues.size() + 1; ++i) {
				valueArray[i] = new RegisterValueWrapper(regValues.get(i - 1));
			}
			GhidraComboBox<RegisterValueWrapper> currentCombo =
				new GhidraComboBox<RegisterValueWrapper>(valueArray);
			currentRegPanel.add(currentCombo);
			currentRegPanel.getAccessibleContext().setAccessibleName(currentRegister + " Values");
			panel.add(currentRegPanel);
			regsToBoxes.put(currentRegister, currentCombo);
		}
		panel.getAccessibleContext().setAccessibleName("Context Register Filter");
		return panel;
	}
Creates an {@link InputDialogComponentProvider} for defining a {@link ContextRegisterFilter}
@param title title of dialog
@param extent extent contain all possible values for the context registers
@param parent parent component
Ghidra/Features/BytePatterns/src/main/java/ghidra/bitpatterns/gui/ContextRegisterFilterInputDialog.java