}
}
ListIterator<BaseToken> itt = tokens.listIterator();
ListIterator<ConllDependencyNode> itn = nodes.listIterator();
BaseToken bt = null;
ConllDependencyNode dn = null;
if (tokens.size()>0 && nodes.size()>0) {
// iterate through the parallel sorted lists
if (itt.hasNext()) bt = itt.next();
if (itn.hasNext()) dn = itn.next();
if (dn != null)
if (dn.getId()==0 && itn.hasNext())
dn = itn.next();
while (itt.hasNext() || itn.hasNext()) {
if (bt.getBegin()==dn.getBegin() && bt.getEnd()==dn.getEnd()) {
dn.setPostag( bt.getPartOfSpeech() );
dn.setCpostag( bt.getPartOfSpeech() );
dn.addToIndexes();
if (itt.hasNext()) bt = itt.next();
if (itn.hasNext()) dn = itn.next();
} else if ( bt.getBegin()<dn.getBegin() ) {
if (itt.hasNext()) bt = itt.next(); else break;
} else if ( bt.getBegin()>dn.getBegin() ) {
if (itn.hasNext()) dn = itn.next(); else break;
}
}
if (bt.getBegin()==dn.getBegin() && bt.getEnd()==dn.getEnd()) {
dn.setPostag( bt.getPartOfSpeech() );
dn.setCpostag( bt.getPartOfSpeech() );
dn.addToIndexes();
}
}
}