{"record":{"id":"5eb6479e3e309dac","repo":"stanfordnlp/CoreNLP","slug":"invalid-language-setting-cannot-load-headfinder","errorCode":null,"errorMessage":"Invalid language setting: cannot load HeadFinder","messagePattern":"Invalid language setting: cannot load HeadFinder","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"src/edu/stanford/nlp/coref/CorefProperties.java","lineNumber":198,"sourceCode":"    if (lang.equalsIgnoreCase(\"en\") || lang.equalsIgnoreCase(\"english\")) {\n      return Locale.ENGLISH;\n    } else if(lang.equalsIgnoreCase(\"zh\") || lang.equalsIgnoreCase(\"chinese\")) {\n      return Locale.CHINESE;\n    } else {\n      throw new IllegalArgumentException(\"unsupported language\");\n    }\n  }\n\n  private static String getLanguageStr(Properties props) {\n    return getLanguage(props).getDisplayName().toLowerCase();\n  }\n\n  public static HeadFinder getHeadFinder(Properties props) {\n    Locale lang = getLanguage(props);\n    if (lang == Locale.ENGLISH) return new SemanticHeadFinder();\n    else if (lang == Locale.CHINESE) return new ChineseSemanticHeadFinder();\n    else {\n      throw new RuntimeException(\"Invalid language setting: cannot load HeadFinder\");\n    }\n  }\n\n  public static Predicate<Pair<CorefChain.CorefMention, List<CoreLabel>>> getCorefMentionFilter(Properties props) {\n    String filterCorefChain = props.getProperty(\"coref.evaluate.filter\");\n    if (filterCorefChain != null) {\n        if (\"filterCustomerAbstractPronouns\".equals(filterCorefChain)) {\n            return CorefUtils.filterCustomerAbstractPronouns;\n        } else {\n            throw new RuntimeException(\"Cannot create coref.evaluate.filter \" + filterCorefChain);\n        }\n    } else {\n        return null;\n    }\n  }\n}\n","sourceCodeStart":180,"sourceCodeEnd":215,"githubUrl":"https://github.com/stanfordnlp/CoreNLP/blob/1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a/src/edu/stanford/nlp/coref/CorefProperties.java#L180-L215","documentation":"Thrown by CorefProperties.getHeadFinder when the configured coref language resolves to a locale for which no HeadFinder implementation is wired up (only English and Chinese have mappings); indicates an unsupported coref.language setting for parsing head rules.","triggerScenarios":"Thrown at src/edu/stanford/nlp/coref/CorefProperties.java:198 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix coref.language so it resolves to English or Chinese","Provide a custom HeadFinder if extending to other languages"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a","analyzedAt":"2026-09-10T02:24:07.274Z","contentChangedAt":"2026-09-10T02:24:07.274Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}