private void updateForDomainFileChanged() {

		DomainFile df = currentProgram.getDomainFile();
		if (!df.isCheckedOut()) {
			// Only currentMyChangeMarks are maintained using domain object change listener
			// when file is not checked-out
			return;
		}

		int latestServerVersion = df.getLatestVersion();
		int latestLocalVersion = df.getVersion();

		boolean localVersionChanged = localVersion != latestLocalVersion;
		boolean serverVersionChanged = serverVersion != latestServerVersion;
		if (!localVersionChanged && !serverVersionChanged) {
			return; // No update to change bars
		}

		localVersion = latestLocalVersion;
		serverVersion = latestServerVersion;

		domainFileChangedLocally |= localVersionChanged;
		domainFileChangedRemotely |= serverVersionChanged;
		updateConflicts = true;

		if (localVersion == serverVersion) {
			// When server and local versions match otherChangeSet is empty
			otherChangeSet = new AddressSet();
			domainFileChangedRemotely = true;
		}
		else if (serverVersionChanged) {
			// Use UpdateChangeSetJob to compute the otherChangeSet
			// GUI update deferred to UpdateChangeSetJob
			scheduleUpdatesFromServer(currentProgram);
			return;
		}

		updateManager.update();
	}
If version numbers are different, get changes made by others since my
checkout and launch update thread if necessary.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/misc/MyProgramChangesDisplayPlugin.java