private void createCallInstruction() throws Exception {
		Address source = builder.addr(firstCalledFunctionAddress);
		Address destination = source.add(1);
		builder.addBytesCall(source.getOffset(), destination.getOffset());
		builder.disassemble(firstCalledFunctionAddress, 2);

		//
		// Note: the tests that use this are creating their references to control the code's
		//       execution path, so get rid of the default reference created for this instruction
		//
		int txID = program.startTransaction("Remove References");
		try {
			ReferenceManager rm = program.getReferenceManager();
			rm.removeAllReferencesFrom(builder.addr(firstCalledFunctionAddress));
		}
		finally {
			program.endTransaction(txID, true);
		}
	}
This test class is covering the various types of 'calls' a function can make, such as a
direct call instruction, or through a user-defined reference.   External calls are also a bit
tricky.   This test was created by following the code paths in {@link OutgoingCallNode}
and making sure that each path was followed.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/calltree/OutgoingCallNodeTest.java