Bug 213451 [Viewers] Visibility of OwnerDrawLabelProvider.OwnerDrawListener
1. Why is the internal class package scoped and not private 2. Why is the constructor public (at least on my eclipse install this shows up as an error because all public/protected methods have to have JavaDoc)
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/OwnerDrawLabelProvider.java
* @deprecated Since 3.4, the default implementation of
	 *             {@link CellLabelProvider#initialize(ColumnViewer, ViewerColumn)}
	 *             in this class will set up the necessary owner draw callbacks
	 *             automatically. Calls to this method can be removed.
	 */
	public static void setUpOwnerDraw(final ColumnViewer viewer) {
		getOrCreateOwnerDrawListener(viewer).enabledGlobally++;
	}
	/**
	 * @param viewer
	 * @param control
	 * @return
	 */
	private static OwnerDrawListener getOrCreateOwnerDrawListener(
			final ColumnViewer viewer) {
		Control control = viewer.getControl();
		OwnerDrawListener listener = (OwnerDrawListener) control
				.getData(OWNER_DRAW_LABEL_PROVIDER_LISTENER);
		if (listener == null) {
			listener = new OwnerDrawListener(viewer);
			control.setData(OWNER_DRAW_LABEL_PROVIDER_LISTENER, listener);
			control.addListener(SWT.MeasureItem, listener);
			control.addListener(SWT.EraseItem, listener);
			control.addListener(SWT.PaintItem, listener);
		}
		return listener;
	}
	/**
	 * Create a new instance of the receiver based on a column viewer.
	 *