private void addClipboardAction() {
		sendToClipboardAction = new DockingAction("Send Selected Sequences to Clipboard", TITLE) {

			@Override
			public void actionPerformed(ActionContext context) {
				List<ClosedPatternRowObject> rows =
					closedPatternTableModel.getLastSelectedObjects();
				for (ClosedPatternRowObject row : rows) {
					DittedBitSequence seq = new DittedBitSequence(row.getDittedString(), true);
					PatternInfoRowObject pattern = new PatternInfoRowObject(type, seq, cRegFilter);
					plugin.addPattern(pattern);
				}
				plugin.updateClipboard();
			}

			@Override
			public boolean isAddToPopup(ActionContext context) {
				return true;
			}

			@Override
			public boolean isEnabledForContext(ActionContext context) {
				return (!closedPatternTableModel.getLastSelectedObjects().isEmpty());
			}

		};
		Icon icon = new GIcon("icon.bytepatterns.send.to.clipboard");
		sendToClipboardAction.setPopupMenuData(
			new MenuData(new String[] { "Send Selected Sequences to Clipboard" }, icon));
		sendToClipboardAction
				.setDescription("Sends the currently selected sequences to the clipboard");
		this.addAction(sendToClipboardAction);
	}
@param plugin plugin
@param rowObjects closed patterns to display 
@param parent parent component
@param type {@link PatternType} of sequences mined for the closed patterns
@param cRegFilter context register filter used to filter sequences
Ghidra/Features/BytePatterns/src/main/java/ghidra/bitpatterns/gui/ClosedPatternTableDialog.java