@CheckForNull
@Override
public Void convert(@NonNull final Index.WithTermFrequencies.TermFreq param) throws Stop {
final Term term = param.getTerm();
if (fieldName != term.field()) {
throw new Stop();
}
final int docCount = param.getFreq();
final String encBinName = term.text();
final String binName = encBinName.substring(
0,
encBinName.length() - postfixLen);
final int dotIndex = binName.lastIndexOf('.');
final String pkgName = dotIndex == -1 ? "" : binName.substring(0, dotIndex);
final Integer typeCount = typeFreq.get(binName);
final Integer pkgCount = pkgFreq.get(pkgName);
typeFreq.put(binName, typeCount == null ? docCount : docCount + typeCount);
pkgFreq.put(pkgName, pkgCount == null ? docCount : docCount + pkgCount);
return null;
}
}