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
refresh(getRoot());
	}
	/**
	 * Refreshes this viewer with information freshly obtained from this
	 * viewer's model. If <code>updateLabels</code> is <code>true</code>
	 * then labels for otherwise unaffected elements are updated as well.
	 * Otherwise, it assumes labels for existing elements are unchanged, and
	 * labels are only obtained as needed (for example, for new elements).
	 * <p>
	 * Calling <code>refresh(true)</code> has the same effect as
	 * <code>refresh()</code>.
	 * <p>
	 * Note that the implementation may still obtain labels for existing
	 * elements even if <code>updateLabels</code> is false. The intent is
	 * simply to allow optimization where possible.
	 * 
	 * @param updateLabels
	 *            <code>true</code> to update labels for existing elements,
	 *            <code>false</code> to only update labels as needed, assuming
	 *            that labels for existing elements are unchanged.
	 * 
	 * @since 2.0
	 */
	public void refresh(boolean updateLabels) {
		refresh(getRoot(), updateLabels);
	}
	/**
	 * Refreshes this viewer starting with the given element.
	 * <p>
	 * Unlike the <code>update</code> methods, this handles structural changes