private VTMatchInfo generateMatchFromMatchedSymbol(VTMatchSet matchSet, Address sourceAddress,
			Address destinationAddress, int scoreFactor, SymbolType matchType) {

		int sourceLength;
		int destinationLength;
		VTAssociationType associationType;

		VTScore similarity = new VTScore(1.000);
		VTScore confidence = new VTScore(10.0 / scoreFactor);

		if (matchType == SymbolType.FUNCTION) {
			Function sourceFunction =
				getSourceProgram().getFunctionManager().getFunctionAt(sourceAddress);
			Function destinationFunction =
				getDestinationProgram().getFunctionManager().getFunctionAt(destinationAddress);

			sourceLength = (int) sourceFunction.getBody().getNumAddresses();
			destinationLength = (int) destinationFunction.getBody().getNumAddresses();
			associationType = VTAssociationType.FUNCTION;
		}
		else {
			Data sourceData = getSourceProgram().getListing().getDataAt(sourceAddress);
			Data destinationData =
				getDestinationProgram().getListing().getDataAt(destinationAddress);

			sourceLength = sourceData.getLength();
			destinationLength = destinationData.getLength();
			associationType = VTAssociationType.DATA;
		}

		VTMatchInfo match = new VTMatchInfo(matchSet);

		match.setSimilarityScore(similarity);
		match.setConfidenceScore(confidence);
		match.setSourceLength(sourceLength);
		match.setSourceAddress(sourceAddress);
		match.setDestinationLength(destinationLength);
		match.setDestinationAddress(destinationAddress);
		match.setTag(null);
		match.setAssociationType(associationType);

		return match;
	}
This class contains the escense of a symbol match which does not preserve
the actual symbol but only its location and match-type (DATA or FUNCTION).
This class is used to aid the deduping of matches produced by a symbol
correlator.
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/correlator/program/SymbolNameProgramCorrelator.java