code: private String sanitizeWord(String word) {
      String result = word;
  
      //Find the last part of the word that is not nothing
      //Skip words ending in a dash as they'll be misrecognized
      if (!word.endsWith("-")) {
        String[] splitWord = word.split("-");
        String lastPart = splitWord.length > 1 && !splitWord[splitWord.length - 1].trim().equals("") ? splitWord[splitWord.length - 1] : word;
  
        //Find only the actual important part of the word
        List<String> compoundedWord = compoundTokenizer.tokenize(lastPart);
        if (compoundedWord.size() > 1) {
          lastPart = StringTools.uppercaseFirstChar(compoundedWord.get(compoundedWord.size() - 1));
        } else {
          lastPart = compoundedWord.get(compoundedWord.size() - 1);
        }
  
        //Only give result if the last part is either a noun or an adjective (or adjective written in Uppercase)
        List<TaggedWord> tagged = tag(lastPart);
        if (tagged.size() > 0 && (StringUtils.startsWithAny(tagged.get(0).getPosTag(), "SUB", "ADJ") || matchesUppercaseAdjective(lastPart))) {
          result = lastPart;
        }
      }
      return result;
    }
docs: Removes the irrelevant part of dash-linked words (SSL-Zertifikat -> Zertifikat)