Bug 194209 [CommonNavigator] ProblemsLabelDecorator does not scale well with Project Explorer
When opening a project, The ProblemsLabelDecorator fires a LabelProviderChangedEvent for all resources contained in this project. While in a ProblemTreeViewer, like the Package Explorer, this is handled in an optimized way by filtering out updates to resources which are not realized in the tree view, the Common Navigator has no such means. The result is that for a project with e.g. 50000 resources, a label update for 50000 elements is triggered even though the project is not even expanded in the view.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/CommonNavigator.java
private static final Class INAVIGATOR_CONTENT_SERVICE = INavigatorContentService.class;
	private static final Class COMMON_VIEWER_CLASS = CommonViewer.class;
	private static final Class ISHOW_IN_SOURCE_CLASS = IShowInSource.class;
	private static final Class ISHOW_IN_TARGET_CLASS = IShowInTarget.class;
	
	private static final String HELP_CONTEXT =  NavigatorPlugin.PLUGIN_ID + ".common_navigator"; 
	/**
	 * <p>
	 * Used to track changes to the {@link #isLinkingEnabled}&nbsp;property.
	 * </p>
	 * 
	 * Make sure this does not conflict with anything in IWorkbenchPartConstants.
	 * 
	 */
	public static final int IS_LINKING_ENABLED_PROPERTY = 0x10000;
	private CommonViewer commonViewer;
	private CommonNavigatorManager commonManager;
	private ActionGroup commonActionGroup;
	private IMemento memento;
	private boolean isLinkingEnabled = false;
	private String LINKING_ENABLED = "CommonNavigator.LINKING_ENABLED";  
	private LinkHelperService linkService;
	/**
	 * 
	 */
	public CommonNavigator() {
		super();