Index: core/bootstrap/src/org/netbeans/ProxyClassLoader.java =================================================================== RCS file: /cvs/core/bootstrap/src/org/netbeans/ProxyClassLoader.java,v retrieving revision 1.16 diff -u -r1.16 ProxyClassLoader.java --- core/bootstrap/src/org/netbeans/ProxyClassLoader.java 4 Jun 2005 05:10:51 -0000 1.16 +++ core/bootstrap/src/org/netbeans/ProxyClassLoader.java 7 Jun 2005 16:40:32 -0000 @@ -330,7 +330,11 @@ */ protected Package getPackageFast(String name, String sname, boolean recurse) { synchronized (packages) { - Package pkg = (Package)packages.get(name); + Object obj = packages.get(name); + if (obj == JUST_DEFINING_PACKAGE) { + return null; + } + Package pkg = (Package)obj; if (pkg != null) { return pkg; } @@ -359,6 +363,9 @@ } } + /** this is not value you want to find */ + private static Object JUST_DEFINING_PACKAGE = new Object(); + /** This is here just for locking serialization purposes. * Delegates to super.definePackage with proper locking. * Also tracks the package in our private cache, since @@ -369,6 +376,7 @@ String implVersion, String implVendor, URL sealBase ) throws IllegalArgumentException { synchronized (packages) { + packages.put(name, JUST_DEFINING_PACKAGE); Package pkg = super.definePackage (name, specTitle, specVersion, specVendor, implTitle, implVersion, implVendor, sealBase); packages.put(name, pkg);