public void markup(Program program, Address address, TaskMonitor monitor, MessageLog log)
			throws Exception {
		FlatProgramAPI api = new FlatProgramAPI(program);

		DataType partitionDataType = toDataType();

		Data partitionData = program.getListing().createData(address, partitionDataType);

		if (partitionData == null) {
			log.appendMsg("Unable to apply partition data, stopping - " + address);
			return;
		}

		program.getListing()
				.setComment(address, CommentType.PLATE, getName() + " - " + getPartitionIndex());

		api.createFragment(getName(), address, partitionDataType.getLength());

		Address dataStart = api.toAddr(getDataStartOffset());
		api.createFragment(getName(), dataStart, getDataSize());

		Data offsetData = partitionData.getComponent(2);
		api.createMemoryReference(offsetData, dataStart, RefType.DATA);

		address = address.add(partitionDataType.getLength());
	}
Annotates the program with this partition's data structures.
@param program the program to markup
@param address the address of the partition
@param monitor the task monitor
@param log the message log
@throws Exception if any exception occurs during markup
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/android/fbpk/FBPK_Partition.java