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
if (needsRefilter)
					break;
			}
		}
		if (needsRefilter) {
			refresh();
			return;
		}
		boolean needsUpdate;
		if (properties == null) {
			needsUpdate = true;
		} else {
			needsUpdate = false;
			IBaseLabelProvider labelProvider = getLabelProvider();
			for (int i = 0; i < properties.length; ++i) {
				needsUpdate = labelProvider.isLabelProperty(element, properties[i]);
				if (needsUpdate)
					break;
			}
		}
		if (needsUpdate) {
			updateItem(widget, element);
		}
	}
	/**
	 * Copies attributes of the given element into the given widget.
	 * <p>
	 * This method is internal to the framework; subclassers should not call
	 * this method. Calls <code>doUpdateItem(widget, element, true)</code>.
	 * </p>