code: public static BufferedImage createCompatibleImage(BufferedImage image) {
          return createCompatibleImage(image, image.getWidth(), image.getHeight());
      }
docs: <p>Returns a new compatible image with the same width, height and
  transparency as the image specified as a parameter. That is, the
  returned BufferedImage will be compatible with the graphics hardware.
  If this method is called in a headless environment, then
  the returned BufferedImage will be compatible with the source
  image.</p>
  
  @see java.awt.Transparency
  @see #createCompatibleImage(int, int)
  @see #createCompatibleImage(java.awt.image.BufferedImage, int, int)
  @see #createCompatibleTranslucentImage(int, int)
  @see #loadCompatibleImage(java.net.URL)
  @see #toCompatibleImage(java.awt.image.BufferedImage)
  @param image the reference image from which the dimension and the
  transparency of the new image are obtained
  @return a new compatible <code>BufferedImage</code> with the same
  dimension and transparency as <code>image</code>