public void init( BufferedImage image ) {
		assert image != null;
		this.image = new SoftReference<BufferedImage>(image);
		
		boolean isCompletelyTransparent = true;
		boolean isCompletelyOpaque = true;
		
		for( int y=0; y<image.getHeight(); ++y ) for( int x=0; x<image.getWidth(); ++x ) {
			switch( (image.getRGB(x, y) & 0xFF000000) ) {
			case 0xFF000000:
				isCompletelyTransparent = false;
				break;
			case 0x00000000:
				isCompletelyOpaque = false;
				break;
			default:
				isCompletelyTransparent = false;
				isCompletelyOpaque = false;
				break;
			}
			
			if( !isCompletelyTransparent && !isCompletelyOpaque ) break;
		}
		
		flags = FLAG_FLAGS_POPULATED;
		if( isCompletelyOpaque ) flags |= FLAG_OPAQUE;
		if( isCompletelyTransparent ) flags |= FLAG_TRANSPARENT;
	}