Bug 156747 Adopt Resource.getDevice() in the JFace resource managers
SWT has recently added a Resource.getDevice() method. This allows several improvements to be made to the JFace resource managers: 1. The (inefficient and complex) heuristics that detect a device by creating temporary resources can be removed. 2. The one-argument descriptor factories that don't take a Device can be made just as efficient as the two-argument versions. 3. The descriptor factory methods that take a Device can be deprecated, since the second argument is no longer required and the one-argument version is just as efficient.
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/RGBColorDescriptor.java
*
     * @param originalColor a color to describe
     * @param originalDevice must be the same Device that was passed into
     * the color's constructor when it was first created.
     */
    public RGBColorDescriptor(Color originalColor, Device originalDevice) {
        this(originalColor.getRGB());
        this.originalColor = originalColor;
        this.originalDevice = originalDevice;
    }
    
	/**
     * Creates a new RGBColorDescriptor that describes an existing color. 
     * 
     * @since 3.1
     *
     * @param originalColor a color to describe
     */
    public RGBColorDescriptor(Color originalColor) {
        this(originalColor.getRGB());
        this.originalColor = originalColor;
    }
    
    /* (non-Javadoc)
     * @see java.lang.Object#equals(java.lang.Object)
     */
    public boolean equals(Object obj) {
        if (obj instanceof RGBColorDescriptor) {
            RGBColorDescriptor other = (RGBColorDescriptor) obj;