Bug 157174 [Viewers] Refactor new Viewer API
We are yet not completely happy with the API and refactor it.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
decorationReady = false;
			}
		} else if (currentDecorator instanceof IDelayedLabelDecorator) {
			IDelayedLabelDecorator delayedDecorator = (IDelayedLabelDecorator) currentDecorator;
			if (!delayedDecorator.prepareDecoration(element, oldText)) {
				
				
				decorationReady = false;
			}
		}
		settings.setHasPendingDecorations(!decorationReady);
		
		if (getLabelProvider() instanceof ITreePathLabelProvider) {
			ITreePathLabelProvider pprov = (ITreePathLabelProvider) getLabelProvider();
			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) {