String[] additionalCategoryIds, int maxSentences, int maxErrors, File languageModelDir) throws IOException {
final Language lang = Language.getLanguageForShortName(langCode);
final JLanguageTool languageTool = new MultiThreadedJLanguageTool(lang);
languageTool.activateDefaultPatternRules();
if (languageModelDir != null) {
languageTool.activateLanguageModelRules(languageModelDir);
}
if (ruleIds != null) {
enableOnlySpecifiedRules(ruleIds, languageTool);
} else {
applyRuleDeactivation(languageTool, disabledRules);