def METHOD_NAME(self):
    with ThreadPoolExecutorResult(max_workers=2) as executor:
        futures = []
        # Thread 1 - Download coverage artifacts.
        futures.append(executor.submit(self.artifactsHandler.download_all))
        # Thread 2 - Clone repository.
        futures.append(executor.submit(self.clone_repository))
        for future in concurrent.futures.as_completed(futures):
            exc = future.exception()
            if exc is not None:
                logger.error(
                    "Exception while downloading coverage artifacts or cloning repository",
                    exception=exc,
                )
                from traceback import format_exception
                logger.error(format_exception(exc, exc, exc.__traceback__))
                os._exit(1)