private void addVftPtrs(Composite composite, CppCompositeType myClassType,
			List<AbstractVirtualFunctionTablePointerMsType> msVftPtrs, AbstractCompositeMsType type,
			List<DefaultPdbUniversalMember> myMembers) throws CancelledException, PdbException {
		for (AbstractVirtualFunctionTablePointerMsType vftPtr : msVftPtrs) {
			applicator.checkCancelled();
			RecordNumber recordNumber = vftPtr.getPointerTypeRecordNumber();
			DataType dataType = applicator.getDataType(recordNumber);
			if (!(dataType instanceof Pointer ptrType)) {
				throw new PdbException("vftptr not pointer type for record: " + recordNumber);
			}
			int offset = vftPtr.getOffset();
			String vftPtrMemberName = vftPtr.getName();
			DefaultPdbUniversalMember member =
				new DefaultPdbUniversalMember(vftPtrMemberName, dataType, offset);
			myMembers.add(member);
			myClassType.addVirtualFunctionTablePointer(ptrType, offset);
		}
	}
Constructor for composite type applier, for transforming a composite into a Ghidra DataType
@param applicator {@link DefaultPdbApplicator} for which this class is working
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/CompositeTypeApplier.java