--- /home/cpdev/src/classpath/java/awt/image/BufferedImage.java	2005-07-02 21:03:25.000000000 +0000
+++ java/awt/image/BufferedImage.java	2005-06-30 05:34:32.000000000 +0000
@@ -448,12 +448,11 @@
   {
     return new ImageProducer() {
         
-	Vector consumers = new Vector();
+        HashSet consumers = new HashSet();
 
         public void addConsumer(ImageConsumer ic)
         {
-	  if(!consumers.contains(ic))
-	    consumers.add(ic);
+          consumers.add(ic);
         }
 
         public boolean isConsumer(ImageConsumer ic)
@@ -463,7 +462,7 @@
 
         public void removeConsumer(ImageConsumer ic)
         {
-	  consumers.remove(ic);
+          consumers.remove(ic);
         }
 
         public void startProduction(ImageConsumer ic)
@@ -481,9 +480,10 @@
 
           consumers.add(ic);
 
-	  for(int i=0;i<consumers.size();i++)
+          Iterator i = consumers.iterator();
+          while(i.hasNext())
             {
-              ImageConsumer c = (ImageConsumer) consumers.elementAt(i);
+              ImageConsumer c = (ImageConsumer) i.next();
               c.setHints(ImageConsumer.SINGLEPASS);
               c.setDimensions(getWidth(), getHeight());
               c.setPixels(x, y, width, height, model, pixels, offset, stride);
