@Override
	public void remove(List<DataType> dataTypes, TaskMonitor monitor) throws CancelledException {

		lock.acquire();
		try {

			// perform the delete in chunks so an excessively large list will still be cancellable
			int n = dataTypes.size();
			int chunk = 1000;
			int chunkEnd = n < chunk ? n : chunk;
			int start = 0;
			while (start < chunkEnd) {
				monitor.checkCancelled();
				List<DataType> subList = dataTypes.subList(start, chunkEnd);
				removeInternal(subList);

				start = chunkEnd;
				int nextChunk = chunkEnd + chunk;
				chunkEnd = n < nextChunk ? n : nextChunk;
			}
		}
		finally {
			lock.release();
		}
	}
Allow extensions to perform any necessary fixups for all datatype removals listed.
@param deletedIds list of IDs for all datatypes which are getting removed.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java