private void addLengthFilterAndAnalysisButtons() {

		applyLengthFilterButton = new JButton(APPLY_LENGTH_FILTER_BUTTON_TEXT);
		getButtonPanel().add(applyLengthFilterButton);
		applyLengthFilterButton.addActionListener(e -> {
			ByteSequenceLengthFilterInputDialog filterCreator =
				new ByteSequenceLengthFilterInputDialog(
					BYTE_SEQUENCE_LENGTH_FILTER_CREATER_TEXT, mainPanel);
			if (filterCreator.isCanceled()) {
				return;
			}
			lengthFilter = filterCreator.getValue();
			applyFilterAction();
		});

		clearLengthFilterButton = new JButton(CLEAR_LENGTH_FILTER_BUTTON_TEXT);
		getButtonPanel().add(clearLengthFilterButton);
		clearLengthFilterButton.addActionListener(e -> {
			lengthFilter = null;
			updateTable();
		});
	}
Sets the {@link FileBitPatternInfoReader} object to use a data source
@param fsReader {@link FileBitPatternInfoReader} object containing the sequences to analyze
Ghidra/Features/BytePatterns/src/main/java/ghidra/bitpatterns/gui/ByteSequencePanelBuilder.java