Bug 60117 [Viewers] Need a DeferredTableContentProvider
eclipse-SDK-I20040427-win32.zip 1. Perform a search & display the results with the flat layout 2. Now sort the results by 'Parent Name'... notice the type names do not come first 2. Switch to the hierarchical layout, then back to the flat - now the type names are first
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/SearchLabelProvider.java
public void removeListener(ILabelProviderListener listener) {
		super.removeListener(listener);
		getLabelProvider().removeListener(listener);
	}
	protected String getParticipantText(Object element) {
		ILabelProvider labelProvider= getLabelProvider(element);
		if (labelProvider != null)
			return labelProvider.getText(element);
		return ""; 
	
	}
	protected Image getParticipantImage(Object element) {
		ILabelProvider lp= getLabelProvider(element);
		if (lp == null)
			return null;
		return lp.getImage(element);
	}
	private ILabelProvider getLabelProvider(Object element) {
		IMatchPresentation participant= ((JavaSearchResult)fPage.getInput()).getSearchParticpant(element);
		if (participant == null)
			return null;
		ILabelProvider lp= (ILabelProvider) fLabelProviderMap.get(participant);
		if (lp == null) {
			lp= participant.createLabelProvider();
			fLabelProviderMap.put(participant, lp);
		}
		return lp;
	}
}