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
IViewerLabelProvider, ITreePathLabelProvider {
	private ILabelDecorator decorator;
	
	private ListenerList listeners = new ListenerList();
	private IDecorationContext decorationContext = DecorationContext.DEFAULT_CONTEXT;
	/**
	 * Creates a decorating label provider which uses the given label decorator
	 * to decorate labels provided by the given label provider.
	 * 
	 * @param provider
	 *            the nested label provider
	 * @param decorator
	 *            the label decorator, or <code>null</code> if no decorator is
	 *            to be used initially
	 */
	public DecoratingLabelProvider(ILabelProvider provider,
			ILabelDecorator decorator) {
		super(provider);
		Assert.isNotNull(provider);
		this.decorator = decorator;
	}
	/**
	 * The <code>DecoratingLabelProvider</code> implementation of this