Bug 166052 [Viewers] Regression: decorator of DecoratingLabelProvider completely replaces label provider
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
if (provider instanceof ITreePathLabelProvider) {
			ITreePathLabelProvider pprov = (ITreePathLabelProvider) provider;
			if (decorationReady || oldText == null
					|| settings.getText().length() == 0) {
				pprov.updateLabel(settings, elementPath);
				decorateSettings(settings, elementPath);
			}
		} else {
			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);
			}
		}
	}
	/**
	 * Decorate the settings
	 * 
	 * @param settings
	 *            the settings obtained from the label provider
	 * @param elementPath
	 *            the element path being decorated
	 */
	private void decorateSettings(ViewerLabel settings, TreePath elementPath) {