public void setLanguage(LanguageTranslator translator, TaskMonitor monitor)
			throws CancelledException {

		monitor.initialize(adapter.getRecordCount());
		int cnt = 0;

		lock.acquire();
		try {
			RecordIterator recIter = adapter.getRecords();
			while (recIter.hasNext()) {
				monitor.checkCancelled();

				DBRecord rec = recIter.next();
				// NOTE: addrMap has already been switched-over to new language and its address spaces
				String serialization = rec.getString(VariableStorageDBAdapter.STORAGE_COL);

				try {
					// Translate address spaces and registers
					serialization =
						VariableStorage.translateSerialization(translator, serialization);
					rec.setString(VariableStorageDBAdapter.STORAGE_COL, serialization);
					adapter.updateRecord(rec);
				}
				catch (InvalidInputException e) {
					// Failed to process - skip record
					continue;
				}
				monitor.setProgress(++cnt);
			}
		}
		catch (IOException e) {
			errorHandler.dbError(e);
		}
		finally {
			invalidateCache(true);
			lock.release();
		}
	}
Perform language translation.
Following the invocation of this method it is important to ensure that the program 
architecure is adjusted if neccessary.
Update variable storage specifications to reflect address space and register mappings
@param translator language translator to be used for mapping storage varnodes to new
architecture.
@param monitor task monitor
@throws CancelledException if task is cancelled
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/VariableStorageManagerDB.java