in src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java [197:219]
public RulesApplication invoke() {
found = false;
int patternLength = 1;
final List<Rule> rules = finalRules.get(input.subSequence(i, i + patternLength));
if (rules != null) {
for (final Rule rule : rules) {
final String pattern = rule.getPattern();
patternLength = pattern.length();
if (rule.patternAndContextMatches(input, i)) {
phonemeBuilder.apply(rule.getPhoneme(), maxPhonemes);
found = true;
break;
}
}
}
if (!found) {
patternLength = 1;
}
i += patternLength;
return this;
}