code: public BufferedImage getBufferedImage()
      {
          if (image == null || abort)
              return null;
          
          // no container that would repaint -- wait for the complete image
          if (container == null)
              waitForLoad();
          
          BufferedImage img = new BufferedImage(getIntrinsicWidth(), getIntrinsicHeight(), BufferedImage.TYPE_INT_ARGB);
          Graphics2D g = img.createGraphics();
          g.drawImage(image, null, null);
          g.dispose();
  
          return img;
      }
docs: Gets the loaded image as BufferedImage object. May return null if no data
  available.
  
  @return the buffered image.