Finalizing ThreadWork

Each ThreadWorker instance can expect to have its finalizeThreadWork() method called once after all ThreadWorkUnits have been processed. This gives the opportunity to close any open files or to do any other "tear down" processing for the ThreadWorker.