@Override
    public boolean awaitCompletion(long timeout, TimeUnit timeUnit) throws InterruptedException {
        waitingThreads.add(Thread.currentThread());
        return super.awaitCompletion(timeout, timeUnit);
    }
{@link PullImageResultCallback} with improved logging of pull progress and a 'watchdog' which will abort the pull
if progress is not being made, to prevent a hanging test
core/src/main/java/org/testcontainers/images/TimeLimitedLoggedPullImageResultCallback.java