private void doOpenFile(TaskMonitor monitor) {
		try {
			if (domainFile.isLinkFile()) {
				// Linked files are always subject to upgrade if needed and do not support
				// getImmutableDomainObject
				domainObject =
					domainFile.getReadOnlyDomainObject(this, DomainFile.DEFAULT_VERSION, monitor);
			}
			else {
				domainObject =
					domainFile.getImmutableDomainObject(this, DomainFile.DEFAULT_VERSION, monitor);
			}
		}
		catch (VersionException e) {
			String msg = "Could not open file: " + domainFile.getName() +
				"\n\nAvailable export options will be limited.";
			if (e.isUpgradable()) {
				msg += "\n\nA data upgrade is required.  You may open file" +
					"\nin a tool first then Export if a different exporter" + "\nis required.";
			}
			else {
				msg += "\nFile was created with a newer version of Ghidra";
			}
			Msg.showError(this, getComponent(), "Error Opening File", msg);
		}
		catch (IOException e) {
			String msg = "Could not open file: " + domainFile.getName() +
				"\n\nAvailable export options will be limited.";
			Msg.showError(this, getComponent(), "Error Opening File", msg, e);
		}
		catch (CancelledException e) {
			// ignore
		}
	}
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