private static boolean referenceIndicatesEndOfTable(ReferenceManager referenceManager,
			Address address) {

		boolean hasReferencesTo = referenceManager.hasReferencesTo(address);
		if (!hasReferencesTo) {
			return false;
		}
		ReferenceIterator referenceIter = referenceManager.getReferencesTo(address);
		while (referenceIter.hasNext()) {
			Reference ref = referenceIter.next();

			// if source type is any besides analysis then it is the kind of reference to stop
			// the vftable
			if (ref.getSource() != SourceType.ANALYSIS) {
				return true;
			}
			// if it is analysis source type but reference is data that is not read this indicates
			// it is not the kind of reference that should end a vftable
			// For example something could be getting this address to figure out the address pointed
			// to so that that address can be referenced. 
			if (ref.getReferenceType().isData() && !ref.getReferenceType().isRead()) {
				return true;
			}
		}
		return false;
	}
Method to determine if there certain types of references to the given address that would
indicate the end of a vftable
@param address the address of a possible pointer in a vftable
@return true if there are references to the given address and any of the references are
types that would indicate the given pointer should not be in the vftable preceding it. In 
general most references would fall into this category such as ones created by user, importer,
disassembler. Returns false if no references or if the only references are ones not 
indicative of the end of a vftable.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/rtti/RttiUtil.java