public boolean hasChanged() {
		// check the connections for changes
		Iterator<String> keys = connectMap.keySet().iterator();
		while (keys.hasNext()) {
			String key = keys.next();
			ToolConnectionImpl tc = connectMap.get(key);
			if (tc.hasChanged()) {
				return true;
			}
		}

		// have the workspaces added/removed any tools?
		// or has the active workspace changed?
		return ((changedWorkspaces.size() > 0) || activeWorkspaceChanged);
	}
Return whether any tools have changed, or if any tools were
added or removed from any of the workspaces.
@return true if any tools in this workspace have changed
Ghidra/Framework/Project/src/main/java/ghidra/framework/project/tool/ToolManagerImpl.java