int endIndex = beginIndex + element.getWord().length(); final Split split = new CompoundPart(aJCas, beginIndex, endIndex); split.addToIndexes(); splitChildren.add(split); int newBeginIndex = endIndex; endIndex = newBeginIndex + element.getMorpheme().length(); final Split morpheme = new LinkingMorpheme(aJCas, newBeginIndex, endIndex); morpheme.addToIndexes(); splitChildren.add(morpheme); newBeginIndex = endIndex; remainingSplit.addToIndexes();