private void updateMainVbt() {
		int numEntries = virtualLayoutBaseClasses.size();
		Integer existingEntries = mainVbt.getNumEntries();
		if (numEntries < existingEntries) {
			// error: silent for now... not sure how we want to deal with this
			return;
		}
		for (VirtualLayoutBaseClass virtualLayoutBaseClass : virtualLayoutBaseClasses) {
			int tableOffset = virtualLayoutBaseClass.getOffetFromVbt();
			// Value in base class is more of an index
			ClassID baseId = virtualLayoutBaseClass.getBaseClassType().getClassId();
			int vbtPtrOffset = virtualLayoutBaseClass.getBasePointerOffset();
			if (vbtPtrOffset != mainVbtPtrOffset) {
				// error
				// ignoring for now... not sure how we want to deal with this
				continue;
			}
			VBTableEntry e = mainVbt.getEntry(tableOffset);
			if (e == null) {
				mainVbt.addEntry(tableOffset, baseId);
			}
			// No need to update an existing entry in base table
		}
	}
Updates vftable entries with values from this class that override those of parent classes
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/CppCompositeType.java