public Map match(IndexedFeatureCollection targetFC, IndexedFeatureCollection candidateFC,
TaskMonitor monitor) {
monitor.allowCancellationRequests();
FeatureCollection compositeTargetFC = new FeatureDataset(targetFC.getFeatureSchema());
CollectionMap constituentToCompositesMap = new CollectionMap();
createComposites(targetFC, constituentToCompositesMap, compositeTargetFC, monitor);
Map targetFeatureToMatchesMap = matchFinder.match(
new IndexedFeatureCollection(compositeTargetFC),
candidateFC, monitor);
deleteInferiorComposites(targetFeatureToMatchesMap, constituentToCompositesMap, monitor);