@Override
	public MergeableBackgroundCommand<Program> mergeCommands(
			MergeableBackgroundCommand<Program> command) {
		SystemUtilities.assertTrue(command instanceof AnalysisBackgroundCommand,
			"This code assumes that the " +
				"two commands are both AnalysisBackgroundCommands and this is not the case.");

		AnalysisBackgroundCommand abc = (AnalysisBackgroundCommand) command;
		SystemUtilities.assertTrue(mgr == abc.mgr, "This code assumes that the " +
			"managers of the two commands are the same instance and this is not the case.");

		// once we encounter a markAsAnalyzed value that is true, then leave it on
		markAsAnalyzed = markAsAnalyzed | abc.markAsAnalyzed;
		return this;
	}
Background Command to perform Auto Analysis on a program.

@param mgr the program's AutoAnalysisManager.
@param markAsAnalyzed true to set the analyzed flag after analysis.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AnalysisBackgroundCommand.java