translate5 passes the terminology used by the termTagger as TBX-File to the termTagger. The termTagger holds this only in Memory
translate5 can not know which TBX data is hold by the termTagger, therefore we need a ping mechanism and somekind of opening fallback if it was tried to use a not existing TBX
on opening a task, the terminology gets passed to termTagger by a fork (by fork to not affect the performance of task-opening)
the termTagger is told to delete terminology from its memory:
after the post-import-termTagging is completed (for the terms needed for this import-task)
when a task lock clean up is performed, which is normally when the session of a user is cleared by logout or session-cleanup (for all tasks, which the user had opened during his session; attention: race-condition: ensure, that terms are not deleted from termTagger, if another user also has opened the same task, do not delete it)
as unique identifier of the TBX-file the md5 hash of the file content is used. This enables us to reuse same TBX in different tasks.