Util { static ClassLoader getDefaultClassLoader() { return Thread.currentThread().getContextClassLoader() != null ? Thread.currentThread().getContextClassLoader() : Util.class.getClassLoader(); } private  Util(); static Session wrapSessionReadOnly(final Session session); static List<String> getManifestHeaderValues(final Manifest manifest, final String headerName); static String escapeManifestHeaderValue(final @NotNull String... values); static String escapeManifestHeaderValues(final @NotNull List<String> values); static List<URL> resolveManifestResources(final URL manifestUrl, final List<String> resources); static Map<URL, List<URL>> mapManifestHeaderResources(final String headerName, final ClassLoader classLoader); static Map<URL, List<URL>> mapManifestHeaderResources(final String headerName, final List<File> files); static Map<URL, List<URL>> mapManifestHeaderResources(final String headerName, final URL manifestUrl); static Predicate<T> debugFilter(final Logger logger, final String format); static Predicate<T> traceFilter(final Logger logger, final String format); @Deprecated static Function<T, M> composeTry(final Function<R, M> monadUnit,
                                                      final Supplier<M> monadZero,
                                                      final TryFunction<T, R> onElement,
                                                      final BiConsumer<T, Exception> onError); @Deprecated static Function<T, Optional<R>> optFunc(final Function<T, R> inputFunc); @Deprecated static Function<T, R> compose(final Function<T, I> before, final Function<I, R> after);  }
@Test public void testGetDefaultClassLoader() throws Exception { final ClassLoader old = Thread.currentThread().getContextClassLoader(); try (URLClassLoader newCl = new URLClassLoader(new URL[0], getClass().getClassLoader())) { Thread.currentThread().setContextClassLoader(newCl); assertSame("default classLoader should be same as tccl when set", newCl, Util.getDefaultClassLoader()); Thread.currentThread().setContextClassLoader(null); assertSame("default classLoader should be same as Util.class.getClassLoader() when tccl is null", Util.class.getClassLoader(), Util.getDefaultClassLoader()); } finally { Thread.currentThread().setContextClassLoader(old); } }