good to see you coming up with patches, nice that you catch up on that TODO. You added support for parallel DocFreq which is good! Did you think about using an interface from the new concurrent utils instead of subclassing thread? I would like to see people using the new features which make code slightly more readable too. You would be able to simply throw the exception in the Callable#call() method and retrieve it once it has terminated.
you could also use a Pooled Executor to run those threads so you don't have to spawn them each time you call docFreq on the multi searcher.
one more thing, your patch is hard to read as you formated the source code. please try to do not format it - that would make it way easier to read and see what has been added / changed.