### Question:
WordTransformer { public static List<String> splitGermanCompoundWords(String word) { List<String> words = new ArrayList<>(); word = word.toLowerCase(); String lcSingular = wordToSingularGermanCaseSensitive(word); int wordLength = lcSingular.length(); for (int i = 0; i < GERMAN_WORDS.size(); i++) { String word2 = GERMAN_WORDS.get(i); int word2Length = word2.length(); if ((word2Length > 3 && (word2.length() <= wordLength || !words.isEmpty())) && lcSingular.endsWith(word2)) { words.add(0, word2); lcSingular = lcSingular.replace(word2, ""); if (lcSingular.isEmpty()) { break; } i = 0; } } if (!lcSingular.isEmpty()) { words.add(0, lcSingular); } return words; }  static String wordToSingular(String pluralForm, Language language); static String wordToSingularEnglish(String pluralForm); static String wordToSingularGerman(String pluralForm); static String wordToSingularGermanCaseSensitive(String lowerCasePluralForm); static List<String> splitGermanCompoundWords(String word); static String wordToPlural(String singular, Language language); static String wordToPluralCaseSensitive(String lowercaseSingular, Language language); static String wordToPluralEnglish(String singular); static String wordToPluralEnglishCaseSensitive(String lowercaseSingular); static String wordToPluralGerman(String singular); static String wordToPluralGermanCaseSensitive(String lowerCaseWord); static String stemGermanWords(String words); static String stemEnglishWords(String words); static String stemWords(String words, Language language); static String stemWord(String word, Language language); static String stemGermanWord(String word); static String stemEnglishWord(String word); static void addStemmingException(String original, String stemmed, Language language); static String getThirdPersonSingular(String verb); static String getSimplePresent(String verb); static String getSimplePast(String verb); static String getPastParticiple(String verb); static EnglishTense getTense(String string, AbstractPosTagger posTagger); static EnglishTense getTense(String string, List<Annotation> annotations); static void main(String[] args);  }### Answer:
@Test public void testSplitGermanCompounds() { List<String> words; words = WordTransformer.splitGermanCompoundWords("platouschuhe"); CollectionHelper.print(words); assertEquals(2, words.size()); assertEquals("platou", words.get(0)); assertEquals("schuh", words.get(1)); words = WordTransformer.splitGermanCompoundWords("hadny"); CollectionHelper.print(words); assertEquals(1, words.size()); assertEquals("hadny", words.get(0)); words = WordTransformer.splitGermanCompoundWords("Teaktische"); assertEquals(2, words.size()); assertEquals("teak", words.get(0)); assertEquals("tisch", words.get(1)); words = WordTransformer.splitGermanCompoundWords("Kunststofftische"); assertEquals(2, words.size()); assertEquals("kunststoff", words.get(0)); assertEquals("tisch", words.get(1)); }