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;
}

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 ; }
splits a word in two word .
