private final static void versionSanityCheck() {
        try {
            String requested = PROVIDER.getRequestedApiVersion();

            boolean match = false;
            for (String aAPI_COMPATIBILITY_LIST : API_COMPATIBILITY_LIST) {
                if (requested.startsWith(aAPI_COMPATIBILITY_LIST)) {
                    match = true;
                }
            }
            if (!match) {
                Reporter.warn("The requested version " + requested + " by your slf4j provider is not compatible with "
                                + Arrays.asList(API_COMPATIBILITY_LIST).toString());
                Reporter.warn("See " + VERSION_MISMATCH + " for further details.");
            }
        } catch (Throwable e) {
            // we should never reach here
            Reporter.error("Unexpected problem occurred during version sanity check", e);
        }
    }
The value of PROVIDER.getMDCAdapter() can be null while PROVIDER has not yet initialized.

However, SLF4JServiceProvider implementations are expected to initialize their internal
MDCAdapter field in their constructor or on field declaration.
slf4j-api/src/main/java/org/slf4j/LoggerFactory.java