Bug 305375 [ui] Many dialogs about unavailable sites
I20100309-0100 I ran a "Check for Updates" immediately after my machine had come out of standby. I don't think the wireless had fully connected yet, and the check for updates failed (fine). However, I got a half dozen nested dialogs about each of the sites that it could not find. They were all stacked on top of one another, and I had to dismiss each one individually. I would expect it to accumulate this into a single dialog rather than one dialog per repository.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorContentService.java
/**
	 * Returns the list of extensions that should be considered as possible
	 * contributors of CNF artifacts (labels, sorters, ...). The algorithm
	 * first considers the source of contribution and its overrides, and then
	 * any possibleChildren and their overrides in order.
	 * 
	 * @param anElement
	 *            An element from the tree (any element contributed to the
	 *            tree).
	 * @return A Collection of NCEs sorted in the correct order for label provider application
	 */
	public Collection findPossibleLabelExtensions(Object anElement) {
		LinkedHashSet contributors = new LinkedHashSet();
		INavigatorContentDescriptor sourceDescriptor = getSourceOfContribution(anElement);
		
		if (sourceDescriptor != null) {
			findOverridingLabelExtensions(anElement, sourceDescriptor, contributors);
		}
		
		
		Set possibleChildDescriptors = findDescriptorsWithPossibleChild(anElement, false);
		for (Iterator iter = possibleChildDescriptors.iterator(); iter.hasNext();) {
			NavigatorContentDescriptor ncd = (NavigatorContentDescriptor) iter.next();
			findOverridingLabelExtensions(anElement, ncd, contributors);
		}
		return contributors;
	}
	private void findOverridingLabelExtensions(Object anElement,
			INavigatorContentDescriptor descriptor, LinkedHashSet contributors) {
		ListIterator iter = ((NavigatorContentDescriptor) descriptor).getOverridingExtensionsListIterator(false);