public Data createVftableArray(Address vftableAddress, int numFunctionPointers)
			throws CancelledException, AddressOutOfBoundsException {

		api.clearListing(vftableAddress,
			vftableAddress.add((numFunctionPointers * defaultPointerSize - 1)));

		DataType pointerDataType = dataTypeManager.getPointer(null);
		ArrayDataType vftableArrayDataType =
			new ArrayDataType(pointerDataType, numFunctionPointers, defaultPointerSize);
		try {
			Data vftableArrayData = api.createData(vftableAddress, vftableArrayDataType);
			return vftableArrayData;
		}
		catch (Exception e) {
			return null;
		}

	}
Method to get functions from vftable
@param vftableAddress the address of the vftable
@param vftableSymbol the name of the vftable
@param allowNullFunctionPtrs if true, allow null pointers in table
@param allowDefaultRefsInMiddle if true, allow references in middle of table
@return the list of functions in the vftable
@throws CancelledException if cancelled
@throws Exception if issues getting data
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RecoveredClassHelper.java