private DomainObject getDomainObjectIfNeeded(TaskMonitor taskMonitor) {
		if (domainObject != null) {
			return domainObject;
		}

		// Only open if there is an exporter that can handle content class but can't handle
		// direct domain file export.  This avoids potential upgrade issues and preserves 
		// database in its current state for those exporters.
		boolean doOpen = false;
		for (Exporter exporter : getApplicableExporters(true)) {
			if (!exporter.canExportDomainFile(domainFile)) {
				doOpen = true;
				break;
			}
		}
		if (!doOpen) {
			return null;
		}

		if (SystemUtilities.isEventDispatchThread()) {
			TaskLauncher.launchModal("Opening File: " + domainFile.getName(),
				monitor -> doOpenFile(monitor));
		}
		else {
			doOpenFile(taskMonitor);
		}
		return domainObject;
	}
This list generation will be based upon the open domainObject if available, otherwise
the domainFile's content class will be used.
@return list of exporters able to handle content
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/exporter/ExporterDialog.java