private void processDoLaterSet(Program program, TaskMonitor monitor, Set<Address> doLaterSet) {
		// nothing to do
		if (doLaterSet.isEmpty()) {
			return;
		}

		// 		Put off the do-later until later if doing block analysis...
		if (this.getPriority() == AnalysisPriority.BLOCK_ANALYSIS) {
			AutoAnalysisManager analysisManager = AutoAnalysisManager.getAnalysisManager(program);
			EntryPointAnalyzer entryPointAnalyzer = new EntryPointAnalyzer();
			entryPointAnalyzer.setPriority(AnalysisPriority.REFERENCE_ANALYSIS.before());
			analysisManager.scheduleOneTimeAnalysis(entryPointAnalyzer, toAddressSet(doLaterSet));
		}
		else {
			// came back in, just do it now
			doDisassembly(program, monitor, doLaterSet);
		}
	}
Process the items on the do later set.  If doing block analysis, then this is the initial
analysis of the program, so schedule the do later set after some analysis has occurred.

@param program - this program
@param monitor - monitor
@param doLaterSet - set of functions that were put off until later
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/EntryPointAnalyzer.java