public static synchronized ImagePullPolicy defaultPolicy() {
        if (instance != null) {
            return instance;
        }

        String imagePullPolicyClassName = TestcontainersConfiguration.getInstance().getImagePullPolicy();
        if (imagePullPolicyClassName != null) {
            log.debug("Attempting to instantiate an ImagePullPolicy with class: {}", imagePullPolicyClassName);
            ImagePullPolicy configuredInstance;
            try {
                configuredInstance =
                    (ImagePullPolicy) Thread
                        .currentThread()
                        .getContextClassLoader()
                        .loadClass(imagePullPolicyClassName)
                        .getDeclaredConstructor()
                        .newInstance();
            } catch (Exception e) {
                throw new IllegalArgumentException(
                    "Configured ImagePullPolicy could not be loaded: " + imagePullPolicyClassName,
                    e
                );
            }

            log.info("Found configured Image Pull Policy: {}", configuredInstance.getClass());

            instance = configuredInstance;
        } else {
            instance = defaultImplementation;
        }

        log.info("Image pull policy will be performed by: {}", instance);

        return instance;
    }
Convenience method for returning the {@link DefaultPullPolicy} default image pull policy
@return {@link ImagePullPolicy}
core/src/main/java/org/testcontainers/images/PullPolicy.java