Index: openide/src/org/openide/util/Lookup.java =================================================================== RCS file: /cvs/openide/src/org/openide/util/Lookup.java,v retrieving revision 1.23 diff -u -r1.23 Lookup.java --- openide/src/org/openide/util/Lookup.java 14 Jul 2003 06:04:13 -0000 1.23 +++ openide/src/org/openide/util/Lookup.java 16 Jul 2003 14:38:48 -0000 @@ -295,7 +295,7 @@ * @since 1.8 */ public java.util.Collection allItems () { - return java.util.Collections.EMPTY_LIST; + return java.util.Collections.EMPTY_SET; } } @@ -382,7 +382,7 @@ * @return collection of all instances */ public java.util.Collection allInstances () { - return java.util.Collections.EMPTY_LIST; + return java.util.Collections.EMPTY_SET; } }; Index: openide/src/org/openide/util/lookup/SimpleProxyLookup.java =================================================================== RCS file: /cvs/openide/src/org/openide/util/lookup/SimpleProxyLookup.java,v retrieving revision 1.3 diff -u -r1.3 SimpleProxyLookup.java --- openide/src/org/openide/util/lookup/SimpleProxyLookup.java 16 Oct 2002 13:02:44 -0000 1.3 +++ openide/src/org/openide/util/lookup/SimpleProxyLookup.java 16 Jul 2003 14:38:48 -0000 @@ -137,6 +137,18 @@ Collection newPairs = delegate.allItems (); + // See #34961 for explanation. + if (!(oldPairs instanceof List)) { + if (oldPairs == Collections.EMPTY_SET) { + // avoid allocation + oldPairs = Collections.EMPTY_LIST; + } else { + oldPairs = new ArrayList(oldPairs); + } + } + if (!(newPairs instanceof List)) { + newPairs = new ArrayList(newPairs); + } return !oldPairs.equals (newPairs); }