public VirtualFunctionTable findPrimaryVft(ClassID owner, List<ClassID> parentage) {
		List<VirtualFunctionTable> list = vftsByOwner.get(owner);
		if (list == null) {
			return null;
		}
		VirtualFunctionTable result = null;
		VirtualFunctionTable firstPlaceholder = null;
		Address addrResult = null;
		for (VirtualFunctionTable table : list) {
			if (table instanceof ProgramVirtualFunctionTable pvft) {
				Address addr = pvft.getAddress();
				if (addrResult == null || addr.compareTo(addrResult) < 0) {
					addrResult = addr;
					result = table;
				}
			}
			else if (firstPlaceholder == null) {
				firstPlaceholder = table;
			}
		}
		if (result == null) {
			if (firstPlaceholder != null) {
				return firstPlaceholder;
			}
			result = new PlaceholderVirtualFunctionTable(owner, parentage);
			list.add(result);
		}
		return result;
	}
Finds the putative {@link VirtualFunctionTable} in memory requested for the owning class
@param owner the owning class of the table
@param parentage the primary parentage (only used if creating placeholder)
@return the table
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/MsVxtManager.java