I still don't get why we have all these branches. For the `docFreq` we can just calculate is all the time. For the TTF we can just do what lucene does internally:

```
if (totalTermFreq == -1 || leafTotalTermFreq == -1) {
  totalTermFreq = -1;
  continue;
}
```

then we don't need the `hasMissingTotalTermFreq` alltogether