@Override
	protected boolean createData() throws CodeUnitInsertionException, CancelledException {
		if (!super.createData()) { // create the TypeDesciptor structure 
			return false;
		}

		// Determine the size of the flexible char array storage and create  properly sized array
		DataType dataType = model.getDataType();
		int structLen = dataType.getLength();
		Address arrayAddr = model.getAddress().add(structLen);
		DataType charArray =
			new ArrayDataType(CharDataType.dataType, model.getDataTypeLength() - structLen, 1);

		// Create 'name' char[0] data at the address immediately following structure
		Program program = model.getProgram();
		Data nameData = DataUtilities.createData(program, arrayAddr, charArray,
			charArray.getLength(), getClearDataMode());

		nameData.setComment(CommentType.EOL, "TypeDescriptor.name");

		return true;
	}
Create the data corresponding to a RTTI0 TypeDescriptor structure which contains a flexible-array
as its last component ( char[0]  name ).  The string data associated with this flexible char array will
be applied as a sized character array immediately following the structure whose size does not include
the char array bytes.
@return false if the data type was not created because it already exists, true otherwise
@throws CodeUnitInsertionException if creating data throws exception
@throws CancelledException if cancelled
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/CreateTypeDescriptorBackgroundCmd.java