@@ -0,0 +1,1814 @@
+package eu.mikroskeem.test.shuriken.instrumentation;%0A%0Aimport eu.mikroskeem.shuriken.common.ToURL;%0Aimport eu.mikroskeem.shuriken.instrumentation.ClassLoaderTools;%0Aimport org.junit.jupiter.api.Assertions;%0Aimport org.junit.jupiter.api.Test;%0A%0Aimport java.io.FileOutputStream;%0Aimport java.net.HttpURLConnection;%0Aimport java.net.URL;%0Aimport java.net.URLClassLoader;%0Aimport java.nio.channels.Channels;%0Aimport java.nio.channels.FileChannel;%0Aimport java.nio.file.Files;%0Aimport java.nio.file.Path;%0A%0A%0A/**%0A * @author Mark Vainomaa%0A */%0Apublic class URLClassLoaderToolsTester %7B%0A    @Test%0A    public void testUCLTools() throws Exception %7B%0A        //URLClassLoader ucl = new URLClassLoader(new URL%5B0%5D);%0A        URLClassLoader ucl = (URLClassLoader) ClassLoader.getSystemClassLoader();%0A        ClassLoaderTools.URLClassLoaderTools uclTools = new ClassLoaderTools.URLClassLoaderTools(ucl);%0A%0A        Assertions.assertThrows(IllegalStateException.class, () -%3E%0A                uclTools.addURL(new URL(%22https://mikroskeem.eu/stuff/fernflower.jar%22))%0A        );%0A        uclTools.addURL(ToURL.to(downloadTestJar()));%0A        uclTools.resetCache();%0A    %7D%0A%0A%0A    private Path downloadTestJar() throws Exception %7B%0A        /* aopalliance library for test, hopefully this won't disappear */%0A        String url = %22https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar%22;%0A%0A        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();%0A        Path file = Files.createTempFile(%22testlib%22, %22.jar%22);%0A        try(FileChannel fc = new FileOutputStream(file.toFile()).getChannel()) %7B%0A            fc.transferFrom(%0A                    Channels.newChannel(connection.getInputStream()),%0A                    0,%0A                    Long.MAX_VALUE%0A            );%0A        %7D%0A%0A        return file;%0A    %7D%0A%7D%0A

Add URLClassLoaderTools tests