'Runs the mtheading and returns when all threads have joined
resets the task.'

def join(self):

    if (self.pool is None):
        print 'Call    set(..)    with    a    list    of    source    objects    before    .join(..)'
        raise
    self.pool.wait_completion()
    self.papers = []
    self.pool = None
