Bug 129755 [Decorators] CompositeImageDescriptor: Problem on overlay with transparent areas in PNG
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/CompositeImageDescriptor.java
* of custom drawing. For example, this could be used to
 * superimpose a red bar dexter symbol across an image to indicate
 * that something was disallowed.
 * <p>
 * Subclasses must implement the <code>getSize</code> and
 * <code>fill</code> methods. Little or no work happens
 * until the image descriptor's image is actually requested
 * by a call to <code>createImage</code> (or to
 * <code>getImageData</code> directly).
 * </p>
 */
public abstract class CompositeImageDescriptor extends ImageDescriptor {
    /**
     * The image data for this composite image.
     */
    private ImageData imageData;
    /**
     * Constructs an uninitialized composite image.
     */
    protected CompositeImageDescriptor() {
    }
    /**
     * Returns the index of a RGB entry in the given map which matches
     * the specified RGB color. If no such entry exists, a new RGB is
     * allocated. If the given array is full, the value 0 is returned
     * (which maps to the transparency value).
     */
    private static int alloc(RGB[] map, int red, int green, int blue) {
        int i;
        RGB c;