private boolean isPossibleVttStart(Address address, List<Vtable> vtables,
			List<Address> knownVtts) throws CancelledException {

		// make list of all vtable tops and vftable tops
		List<Address> vtableAndVftableAddrs = getListOfVtableAndVftableTops(vtables);

		if (isSelfReferencing(address)) {
			return true;
		}

		Address referencedAddress = getReferencedAddress(address);
		if (referencedAddress != null && (vtableAndVftableAddrs.contains(referencedAddress) ||
			knownVtts.contains(referencedAddress))) {
			return true;
		}

		return false;

	}
Method to process the primary vtable for each "vtable" label

@throws CancelledException    if cancelled
@throws InvalidInputException if invalid symbol input

@throws Exception             if Data cannot be created
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIGccClassRecoverer.java