private void removeQueuedDataTypes() {

		// collect all datatype to be removed and notify children which may also get queued
		// for removal.
		Set<Long> deletedIds = new HashSet<>();
		while (!idsToDelete.isEmpty()) {
			long id = idsToDelete.removeFirst();
			removeUseOfDataType(id);
			deletedIds.add(id);
		}

		// perform any necessary external use removals
		deleteDataTypesUsed(deletedIds);

		// perform actual database updates (e.g., record removal, change notifications, etc.)
		for (long id : deletedIds) {
			if (blockedRemovalsByID != null && blockedRemovalsByID.contains(id)) {
				DataType dt = getDataType(id);
				Msg.warn(this, "The datatype '" + dt.getDisplayName() +
					"' has been retained for use by defined bitfields");
				continue;
			}
			deleteDataType(id);
		}
		blockedRemovalsByID = null;
	}
Remove the given datatype from this manager (assumes the lock has already been acquired).

@param dataType the dataType to be removed
@return true if datatype removal was successful, else false
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java