Bug 74059 [Viewers] ViewerLabel#hasNewImage() is wrong when setImage(..) has not been called
I200409140800 The Javadoc of ViewerLabel#hasNewImage() states: @return boolean. <code>true</code> if the image has been set to something new. But the current implementation also returns true when 'startImage' is != null, and setImage(..) has not been called. A fix could be to set 'newImage' to 'initialImage' in the constructor, and then update getImage() to just return newImage. For clients that use the pattern ... if (updateLabel.hasNewImage()) item.setImage(updateLabel.getImage()); ..., the current implementation makes them call Item#setImage(..) too often. The same problem applies to hasNewText().
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabel.java
* @return boolean. <code>true</code> if the value has been set.
	 */
	public boolean hasNewForeground() {
		return foreground != null;
	}
	
	/**
	 * Return whether or not the font has been set.
	 * 
	 * @return boolean. <code>true</code> if the value has been set.
	 */
	public boolean hasNewFont() {
		return font != null;
	}
	/**
	 * Get the background Color.
	 * @return Color or <code>null</code> if no new value
	 * was set.
	 */
	public Color getBackground() {
		return background;
	}
	/**
	 * Set the background Color.
	 * @param background Color
	 */
	public void setBackground(Color background) {
		this.background = background;
	}
	/**