void analyze() {
			if (tree == null) {
				return;
			}
			if (path == null) {
				return;
			}
			PatternType type = tree.getType();
			InstructionSequenceTreePathFilter pathFilter =
				new InstructionSequenceTreePathFilter(path, type);
			ContextRegisterFilter cRegFilter = null;
			switch (type) {
				case FIRST:
					cRegFilter = firstInstPanel.getContextRegisterFilter();
					break;
				case PRE:
					cRegFilter = preInstPanel.getContextRegisterFilter();
					break;
				case RETURN:
					cRegFilter = returnInstPanel.getContextRegisterFilter();
					break;
				default:
					throw new IllegalArgumentException("Unsupported type " + type.name());
			}
			List<ByteSequenceRowObject> rowObjects =
				ByteSequenceRowObject.getRowObjectsFromInstructionSequences(
					patternReader.getFInfoList(), pathFilter, cRegFilter);
			new SimpleByteSequenceAnalyzerProvider(plugin, pathFilter.toString(), cRegFilter,
				rowObjects, component, type);
		}
Removes the action from the tool.
Ghidra/Features/BytePatterns/src/main/java/ghidra/bitpatterns/gui/FunctionBitPatternsMainProvider.java