void removeAssociation(VTAssociation association) {

		// Update the association status so that we update any blocked associations
		VTAssociationDB associationDB = (VTAssociationDB) association;
		VTAssociationStatus status = association.getStatus();
		if (status == ACCEPTED) {
			associationDB.setStatus(AVAILABLE);
			associationDB.setInvalid();
			unblockRelatedAssociations(associationDB);
			for (AssociationHook hook : associationHooks) {
				hook.associationCleared(associationDB);
			}
		}

		VTAssociationDB associationDb = (VTAssociationDB) association;
		long id = associationDb.getKey();
		try {
			associationDb.removeMarkupItems();
			associationTableAdapter.removeAssociaiton(id);
			session.setChanged(VTEvent.ASSOCIATION_REMOVED, associationDb, null);
		}
		catch (IOException e) {
			session.dbError(e);
		}
		associationCache.delete(id);
		associationDb.setInvalid();

	}
Called when an existing session has been initialized with its programs.  This is not called
when a new session is created.
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/db/AssociationDatabaseManager.java