public static <T extends Throwable> void runWithContextClassLoader(
            ThrowingRunnable<T> runnable, ClassLoader contextClassLoader) throws T {
        try (TemporaryClassLoaderContext ignored =
                TemporaryClassLoaderContext.of(contextClassLoader)) {
            runnable.run();
        }
    }
@Test
    void testRunSupplierWithContextClassLoader() throws Exception {
        SupplierWithException<ClassLoader, Exception> runnable =
                () -> Thread.currentThread().getContextClassLoader();

        final ClassLoader contextClassLoader =
                ClassLoadingUtils.runWithContextClassLoader(runnable, TEST_CLASS_LOADER);
        assertThat(contextClassLoader).isSameAs(TEST_CLASS_LOADER);
    }