private int getNumberOfDataMatches(TaskMonitor monitor) throws CancelledException {

		int numDataMatches = 0;
		List<VTMatchSet> matchSets = session.getMatchSets();
		for (VTMatchSet matchSet : matchSets) {
			monitor.checkCancelled();
			Collection<VTMatch> matches = matchSet.getMatches();
			for (VTMatch match : matches) {
				monitor.checkCancelled();
				if (match.getAssociation().getStatus() == VTAssociationStatus.ACCEPTED &&
					match.getAssociation().getType() == VTAssociationType.DATA) {
					numDataMatches++;
				}
			}
		}
		return numDataMatches;
	}
Method to find good implied matches based on number of votes and conflicts
@param matchesToProcess the set of matches to process for good implied matches
@param minVoteCountNeeded the minimum vote count needed for a "good" implied match
@param maxConflictsAllowed the maximum number of conflicts allowed for a "good" implied match
@param monitor the monitor
@return a set of good implied matches based on the minVoteCountNeeded needed and
 maxConfictsAllowed
@throws CancelledException if cancelled
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/AutoVersionTrackingTask.java