question: protected List < DecompoundedWord > makeSplit ( String aWord ) { List < DecompoundedWord > result = new ArrayList < DecompoundedWord > ( ) ; for ( int i = 0 ; i < aWord . length ( ) ; i ++ ) { String leftWord = aWord . substring ( 0 , i + 1 ) ; String rightWord = aWord . substring ( i + 1 ) ; boolean leftGood = dict . contains ( leftWord ) && leftWord . length ( ) >= minWordLength ; boolean rightGood = rightWord . length ( ) > minRestLength || rightWord . length ( ) == 0 ; if ( leftGood && rightGood ) { DecompoundedWord split = DecompoundedWord . createFromString ( leftWord + "+" + rightWord ) ; split . setSplitPos ( i ) ; result . add ( split ) ; } for ( String morpheme : morphemes . getAll ( ) ) { try { String leftWithoutMorpheme = leftWord . substring ( 0 , leftWord . length ( ) - morpheme . length ( ) ) ; if ( leftWord . endsWith ( morpheme ) && dict . contains ( leftWithoutMorpheme ) && rightGood ) { DecompoundedWord split = DecompoundedWord . createFromString ( leftWithoutMorpheme + "(" + morpheme + ")+" + rightWord ) ; split . setSplitPos ( i ) ; result . add ( split ) ; } } catch ( StringIndexOutOfBoundsException e ) { continue ; } } } return result ; }
target:  Splits a word in two word.