public VirtualBaseTable findVbt(ClassID owner, List<ClassID> parentage, Integer ordinal) {
		OwnerParentage op = new OwnerParentage(owner, parentage);
		VirtualBaseTable vbt = vbtsByOwnerParentage.get(op);
		if (vbt != null) {
			return vbt;
		}
		vbt = getVbtByAddressOrdinal(owner, ordinal);
		if (vbt == null) {
			vbt = searchVbtTree(owner, parentage);
			if (vbt == null) {
				vbt = new PlaceholderVirtualBaseTable(owner, parentage);
			}
		}
		vbtsByOwnerParentage.put(op, vbt);
		storeVbt(owner, ordinal, vbt);
		return vbt;
	}
Finds the putative {@link VirtualBaseTable} in memory requested for the owning class and the
specified parentage
@param owner the owning class of the table
@param parentage the parentage for the desired table.  The parentage must start with the
parent that contains the pointer to the table and should include the ordered lineage from
that class through all of its decendents to the owner, excluding the owner
@param ordinal ordinal of table for owner as sorted by address
@return the table
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/MsVxtManager.java