private boolean hasVirtualAncestor(RecoveredClass recoveredClass) throws CancelledException {

		List<RecoveredClass> classHierarchy = recoveredClass.getClassHierarchy();
		for (RecoveredClass ancestor : classHierarchy) {
			monitor.checkCancelled();
			if (ancestor.inheritsVirtualAncestor()) {
				return true;
			}
		}
		return false;
	}
Use information from RTTI Base class Arrays to create class hierarchy lists
and maps

@throws CancelledException if cancelled
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIGccClassRecoverer.java