Bug 111959 [Viewers] ColorAndFontCollector and getColorAndFontCollector() visibility conflict
I'm creating a viewer for a custom table and extending StructuredViewer. In StructuredViewer the method getColorAndFontCollector() is protected so I should be able to access it. But the return type is ColorAndFontCollector which is declared as a package level class thus I can't call the method because the return type isn't visible to viewers outside of the viewers package.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
* <li>calls <code>postUpdateHook</code></li>
	 * </ul>
	 * </p>
	 * 
	 * @param updateCode
	 *            the code to run
	 */
	protected void preservingSelection(Runnable updateCode) {
		ISelection oldSelection = null;
		try {
			
			oldSelection = getSelection();
			inChange = restoreSelection = true;
			
			updateCode.run();
		} finally {
			inChange = false;
			
			if (restoreSelection)
				setSelectionToWidget(oldSelection, false);
			
			ISelection newSelection = getSelection();
			if (!newSelection.equals(oldSelection))
				handleInvalidSelection(oldSelection, newSelection);
		}
	}
	/*
	 * Non-Javadoc. Method declared on Viewer.
	 */
	public void refresh() {