private void markupStrings(Address fdtHeaderAddress, Data fdtHeaderData,
			FlatProgramAPI programAPI, TaskMonitor monitor) throws Exception {

		Address stringsAddress = fdtHeaderAddress.add(getOffsetToDtStrings());
		Data stringsData = fdtHeaderData.getComponent(OFF_DT_STRINGS_INDEX);
		programAPI.createMemoryReference(stringsData, stringsAddress, RefType.DATA);

		int stringSize = 0;
		while (!monitor.isCancelled()) {
			Data stringData = programAPI.createData(stringsAddress, StringDataType.dataType);
			programAPI.createFragment(StringDataType.dataType.getName(), stringsAddress,
				stringData.getLength());
			String string = (String) stringData.getValue();
			storeString(fdtHeaderAddress, stringsAddress, string);
			stringsAddress = stringsAddress.add(stringData.getLength());
			stringSize += stringData.getLength();
			if (stringSize >= getSizeDtStrings()) {
				break;
			}
		}
	}
Marks up the program containing this FDT.
@param fdtHeaderAddress the address where the FDT starts
@param program the program to markup
@param monitor the TaskMonitor
@param log the MessageLog
@throws Exception if an exception occurs
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/dtb/FdtHeader.java