private void updateSharedProjectInfo() {
		int openCount = getOpenFileCount();
		if (openCount != 0) {
			Msg.showInfo(getClass(), getComponent(), "Cannot Change Project Info with Open Files",
				"Found " + openCount + " open project file(s).\n" +
					"Before your project info can be updated, you must\n" +
					"close all open project files and tools.");
			return;
		}

		if (!checkToolsClose()) {
			return;
		}
		RepositoryAdapter currentRepository = project.getRepository();
		ServerInfo serverInfo = currentRepository.getServerInfo();
		ProjectChooseRepositoryWizardModel model =
			new ProjectChooseRepositoryWizardModel(plugin.getTool(),
				"Change Shared Project Information", serverInfo);
		WizardDialog dialog = new WizardDialog(model);
		dialog.show(getComponent());
		RepositoryAdapter rep = model.getRepository();

		if (rep != null) {
			if (currentRepository.getServerInfo().equals(rep.getServerInfo()) &&
				currentRepository.getName().equals(rep.getName())) {
				Msg.showInfo(getClass(), getComponent(), "No Changes Made",
					"No changes were made to the shared project information.");
				return;
			}

			if (OptionDialog.showOptionDialog(getComponent(), "Update Shared Project Info",
				"Are you sure you want to update your shared project information?", "Update",
				OptionDialog.QUESTION_MESSAGE) == OptionDialog.OPTION_ONE) {

				UpdateInfoTask task = new UpdateInfoTask(rep);
				new TaskLauncher(task, getComponent(), 500);
				// block until task completes
				if (task.getStatus()) {
					FileActionManager actionMgr = plugin.getFileActionManager();
					close();
					actionMgr.closeProject(false);
					actionMgr.openProject(project.getProjectLocator());
					plugin.getProjectActionManager().showProjectInfo();
				}
			}
		}

	}
Called from the project action manager when the connection state changes on the
repository.
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ProjectInfoDialog.java