@SuppressWarnings("unchecked") public static AnnotationDiffer computeDiffWithDocFeatures( Document document, List<String> featureNames, AnnotationSet responsesAnnotations) { FeatureMap doc_fm = document.getFeatures(); // Logger log = Logger.getLogger(DocumentFeaturesDiff.class); int correct = 0; int missing = 0; int spurious = 0; for (String feature_name : featureNames) { // int cur_correct = 0; List<String> f = (List<String>) doc_fm.get(feature_name); if (f == null) { f = (List<String>) doc_fm.get(feature_name + "s"); } AnnotationDiffer diff = computeDiffWithGoldStandardDataForSingleFeature( feature_name, Utils.setFromList(f), responsesAnnotations); spurious += diff.getSpurious(); correct += diff.getCorrectMatches(); missing += diff.getMissing(); } return new AnnotationDifferDocumentFeaturesImpl(correct, missing, spurious); }