protected boolean domainObjectChanged(DomainObjectChangedEvent changeEvent) {
		if (getHomeAddress() == null) {
			return true;
		}

		for (int i = 0; i < changeEvent.numRecords(); i++) {
			DomainObjectChangeRecord domainObjectRecord = changeEvent.getChangeRecord(i);
			EventType eventType = domainObjectRecord.getEventType();
			if (eventType == DomainObjectEvent.RESTORED) {
				checkForAddressChange(domainObjectRecord);
				return true;
			}
			if (eventType instanceof ProgramEvent type) {
				switch (type) {
					case MEMORY_BLOCK_MOVED:
					case MEMORY_BLOCK_REMOVED:
						if (program.getMemory().contains(getHomeAddress())) {
							checkForAddressChange(domainObjectRecord);
							return true;
						}
						break;
					case SYMBOL_ADDED:
					case SYMBOL_RENAMED:
					case SYMBOL_REMOVED:
						checkForAddressChange(domainObjectRecord);
						return true;
					case REFERENCE_ADDED:
						ProgramChangeRecord changeRecord = (ProgramChangeRecord) domainObjectRecord;
						Reference ref = (Reference) changeRecord.getNewValue();
						if (refersToAddress(ref, getHomeAddress())) {
							checkForAddressChange(domainObjectRecord);
							return true;
						}
						break;
					case REFERENCE_REMOVED:
						changeRecord = (ProgramChangeRecord) domainObjectRecord;
						ref = (Reference) changeRecord.getOldValue();
						if (refersToAddress(ref, getHomeAddress())) {
							checkForAddressChange(domainObjectRecord);
							return true;
						}
						break;
					case SYMBOL_ASSOCIATION_ADDED:
					case SYMBOL_ASSOCIATION_REMOVED:
						changeRecord = (ProgramChangeRecord) domainObjectRecord;
						ref = (Reference) changeRecord.getObject();
						if (refersToAddress(ref, getHomeAddress())) {
							checkForAddressChange(domainObjectRecord);
							return true;
						}
						break;
					default:
				}
			}
		}

		return false;
	}
This is the address of the thing to which we are trying to find references
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/navigation/locationreferences/LocationDescriptor.java