@Override
	public void analyzeAll(Program program) {
		if (program == null) {
			throw new IllegalArgumentException("Program may not be null");
		}
		if (getScriptAnalysisMode() == AnalysisMode.ENABLED || program != originalProgram) {
			super.analyzeAll(program);
		}
		else {
			// Will use analysis yield mechanism if running as analysis worker
			AutoAnalysisManager mgr = AutoAnalysisManager.getAnalysisManager(program);
			mgr.setIgnoreChanges(false);
			try {
				super.analyzeAll(program);
			}
			finally {
				monitor.setProgress(0);
				monitor.setMessage("Executing " + getScriptName());
				mgr.setIgnoreChanges(getScriptAnalysisMode() == AnalysisMode.DISABLED);
			}
		}
	}
Explicitly set the .properties file (used if a ResourceFile representing the
GhidraScript is not available -- i.e., if running GhidraScript from a .class file
or instantiating the actual GhidraScript object directly).

@param propertiesFile  the actual .properties file for this GhidraScript
@throws IOException if there is an exception reading the properties
Ghidra/Features/Base/src/main/java/ghidra/app/script/GhidraScript.java