diff -r 263482b074e9 -r f7f25ea1bbec dew/src/main/java/org/apidesign/bck2brwsr/dew/ClassLoaderFileManager.java --- a/dew/src/main/java/org/apidesign/bck2brwsr/dew/ClassLoaderFileManager.java Wed Oct 02 21:00:24 2013 +0200 +++ b/dew/src/main/java/org/apidesign/bck2brwsr/dew/ClassLoaderFileManager.java Wed Oct 02 22:32:57 2013 +0200 @@ -9,7 +9,9 @@ import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; +import java.net.URL; import java.util.ArrayList; import java.util.Collections; import java.util.EnumSet; @@ -61,7 +63,7 @@ @Override public ClassLoader getClassLoader(Location location) { if (canClassLoad(location)) { - return getClass().getClassLoader(); + return new SafeClassLoader(getClass().getClassLoader()); } else { return null; } @@ -328,4 +330,33 @@ return res; } + private static final class SafeClassLoader extends ClassLoader { + private final ClassLoader delegate; + + SafeClassLoader(final ClassLoader delegate) { + this.delegate = delegate; + + } + + @Override + public URL getResource(String name) { + return delegate.getResource(name); + } + + @Override + public InputStream getResourceAsStream(String name) { + return delegate.getResourceAsStream(name); + } + + @Override + public Enumeration getResources(String name) throws IOException { + return delegate.getResources(name); + } + + @Override + public Class loadClass(String name) throws ClassNotFoundException { + return delegate.loadClass(name); + } + } + }