Bug 166052 [Viewers] Regression: decorator of DecoratingLabelProvider completely replaces label provider
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
if (decorationReady || oldText == null
				|| settings.getText().length() == 0) {
			settings.setText(getText(element));
		}
		Image oldImage = settings.getImage();
		if (decorationReady || oldImage == null) {
			settings.setImage(getImage(element));
		}
		if (decorationReady) {
			updateForDecorationReady(settings, element);
		}
	}
	/**
	 * Decoration is ready. Update anything else for the settings.
	 * 
	 * @param settings
	 *            The object collecting the settings.
	 * @param element
	 *            The Object being decorated.
	 * @since 3.1
	 */
	protected void updateForDecorationReady(ViewerLabel settings, Object element) {
		if (decorator instanceof IColorDecorator) {
			IColorDecorator colorDecorator = (IColorDecorator) decorator;
			settings.setBackground(colorDecorator.decorateBackground(element));
			settings.setForeground(colorDecorator.decorateForeground(element));
		}
		if (decorator instanceof IFontDecorator) {
			settings