if (newTokenReadings[i].getLemma() == null) { //empty lemma
lemma = token;
} else {
lemma = newTokenReadings[i].getLemma();
}
final AnalyzedTokenReadings toReplace = new AnalyzedTokenReadings(
new AnalyzedToken(token, newTokenReadings[i].getPOSTag(), lemma),
whTokens[fromPos].getStartPos());
whTokens[position] = replaceTokens(whTokens[position], toReplace);
}
}
} else if (matchElement == null) {
String lemma = "";
for (int l = 0; l < numRead; l++) {
if (whTokens[fromPos].getAnalyzedToken(l).getPOSTag() != null
&& (whTokens[fromPos].getAnalyzedToken(l).getPOSTag().equals(
disambiguatedPOS) && (whTokens[fromPos].getAnalyzedToken(l)
.getLemma() != null))) {
lemma = whTokens[fromPos].getAnalyzedToken(l).getLemma();
}
}
if (StringTools.isEmpty(lemma)) {
lemma = whTokens[fromPos].getAnalyzedToken(0).getLemma();
}
final AnalyzedTokenReadings toReplace = new AnalyzedTokenReadings(
new AnalyzedToken(whTokens[fromPos].getToken(), disambiguatedPOS,
lemma), whTokens[fromPos].getStartPos());
whTokens[fromPos] = replaceTokens(whTokens[fromPos], toReplace);
} else {
// using the match element