private void handleReferenceAdded(DomainObjectChangeRecord record) {

		//
		// Get the affected vertex (if any).  Determine if we have to split the vertex.
		//
		FGData functionGraphData = controller.getFunctionGraphData();
		FunctionGraph functionGraph = functionGraphData.getFunctionGraph();
		Reference reference = (Reference) record.getNewValue();
		Address toAddress = reference.getToAddress();
		FGVertex destinationVertex = functionGraph.getVertexForAddress(toAddress);
		if (destinationVertex == null) {
			return; // this particular removal doesn't affect our graph
		}

		//
		// How do we know if we need to split this vertex?  Well, we have some
		// tests that must hold true:
		// -The 'to' address for the reference must not be to the minimum address for that vertex
		//
		AddressSetView addresses = destinationVertex.getAddresses();
		Address minAddress = addresses.getMinAddress();
		if (toAddress.equals(minAddress)) {
			return; // the 'to' is not in the middle of the code block--no need to split
		}

		controller.splitVertex(destinationVertex, toAddress);
	}
Returns true when something destructive has happened to the data upon which the graph has
created, like a memory block move.
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/FGProvider.java