private void fixUpDeletingDestructors(List<RecoveredClass> recoveredClasses)
			throws CancelledException {

		List<Function> processedFunctions = new ArrayList<>();

		for (RecoveredClass recoveredClass : recoveredClasses) {
			monitor.checkCancelled();

			List<Function> deletingDestructors = recoveredClass.getDeletingDestructors();

			if (deletingDestructors.isEmpty()) {
				continue;
			}

			for (Function function : deletingDestructors) {
				monitor.checkCancelled();

				if (processedFunctions.contains(function)) {
					continue;
				}

				AddressSetView body = function.getBody();
				int numAddressRanges = body.getNumAddressRanges();

				// fixup contigous dd function
				if (numAddressRanges == 1) {
					fixupContiguousDeletingDestructorSymbols(function);
					processedFunctions.add(function);
					continue;
				}
				if (numAddressRanges == 2) {
					// else fixup split dd function 
					Function scalarDeletingDestructor = createSplitDeletingDestructorFunction(body);
					if (scalarDeletingDestructor == null) {
						Msg.debug(this, "Could not fixup split deleting destructor function: " +
							function.getEntryPoint());
						continue;
					}
					fixupSplitDeletingDestructorSymbols(function, scalarDeletingDestructor);
					processedFunctions.add(function);
				}
				// if > 2 do nothing - not sure how to handle or even if they exist
			}
		}
	}
Method to fixup previously found deleting destructors's symbols to determine if they are
scalar or vector ones and name appropriately. In the non-contiguous case, split into two
functions and name accordingly.
@param recoveredClasses the list of classes to processes
@throws CancelledException if cancelled
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIWindowsClassRecoverer.java