public void markupAddress(Address addr, DataType dt, int length) throws IOException {

		DWARFDataInstanceHelper dihUtil =
			new DWARFDataInstanceHelper(program).setAllowTruncating(false);
		if (dihUtil.isDataTypeCompatibleWithAddress(dt, addr)) {
			try {
				Data data = DataUtilities.createData(program, addr, dt, length, false,
					ClearDataMode.CLEAR_ALL_CONFLICT_DATA);
				markedupAddrs.add(data.getMinAddress(), data.getMaxAddress());
			}
			catch (CodeUnitInsertionException e) {
				logWarningAt(addr,
					"Failed to apply data type [%s]: %s".formatted(dt.getName(), e.getMessage()));
			}
		}
	}
Applies the specified {@link DataType} to the specified {@link Address}.

@param addr location to place DataType
@param dt {@link DataType}
@param length length of the data type instance, or -1 if the data type is fixed length
@throws IOException if error marking up address
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/structmapping/MarkupSession.java