@Override
	protected void deleteDataTypesUsed(Set<Long> deletedIds) {
		// TODO: SymbolManager/FunctionManager do not appear to handle datatype removal update.
		// Suspect it handles indirectly through detection of deleted datatype.  Old deleted ID
		// use could be an issue.
		try {
			// TODO: Should use replacement type instead of clearing

			// Note: use of DUMMY here is intentional, since we do not want to interrupt the 
			// deleting of these types, as they may have a relationship that we wish to preserve.
			// All need to be deleted to remain in a consistent state.
			program.getCodeManager().clearData(deletedIds, TaskMonitor.DUMMY);
		}
		catch (CancelledException e) {
			// won't happen
		}
		program.getSymbolTable().invalidateCache(false);
		program.getFunctionManager().invalidateCache(false);
	}
Update program-architecture information following a language upgrade/change
@param monitor task monitor
@throws IOException if IO error occurs
@throws CancelledException if task monitor cancelled
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/ProgramDataTypeManager.java