@Override
	protected void setDomainFile(DomainFile df) throws DomainObjectException {
		DomainFolder parent = df.getParent();
		if (parent != null && sourceProgram == null) {
			try {
				openSourceAndDestinationPrograms(parent.getProjectData());
			}
			catch (IOException e) {
				throw new DomainObjectException(e);
			}
		}
		super.setDomainFile(df);
	}
Construct an existing VT session object and open with UPGRADE enabled.
The caller (i.e., content handler) must ensure that project has exclusive access to
the domain file before it was open and {@link DBHandle} supplied.
@param dbHandle database handle
@param monitor TaskMonitor that allows the open to be canceled.
@param consumer the object that keeping the session open.
@throws IOException if an error accessing the database occurs.
@throws VersionException if database version does not match implementation, UPGRADE may be possible.
@throws CancelledException if instantiation is canceled by monitor
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/db/VTSessionDB.java