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/JavaSearchResultPage.java
for (int i= 0; i < allFilters.length; i++) {
			if (allFilters[i].getID().equals(id))
				return allFilters[i];
		}
		return null;
	}
	/* (non-Javadoc)
	 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#saveState(org.eclipse.ui.IMemento)
	 */
	public void saveState(IMemento memento) {
		super.saveState(memento);
		memento.putInteger(KEY_GROUPING, fCurrentGrouping);
		memento.putInteger(KEY_SORTING, fCurrentSortOrder);
		memento.putString(KEY_FILTERS, encodeFilters());
	}
	
	void addMatchFilter(MatchFilter filter) {
		fMatchFilters.add(filter);
		filtersChanged();
	}
	
	void removeMatchFilter(MatchFilter filter) {
		fMatchFilters.remove(filter);
		filtersChanged();
	}
	
	private void filtersChanged() {
		StructuredViewer viewer= getViewer();
		JavaSearchContentProvider cp= (JavaSearchContentProvider) viewer.getContentProvider();
		cp.filtersChanged(getMatchFilters());