Bug 285529 [CommonNavigator] Incorrect pipeline logic for interceptXxx methods
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorPipelineService.java
for (Iterator iter = trackedSet.iterator(); iter.hasNext();) {
			Object element = (Object) iter.next();
			if(element instanceof TreePath) {
				interestedExtensions.addAll(contentService.findOverrideableContentExtensionsForPossibleChild(((TreePath)element).getLastSegment()));
			} else {
				interestedExtensions = contentService.findOverrideableContentExtensionsForPossibleChild(element);
				
			}
		}
		for (Iterator overridingExtensionsIter = interestedExtensions.iterator(); overridingExtensionsIter.hasNext();)
			pipelineInterceptRemove(aRemoveModification, trackedSet, (NavigatorContentExtension) overridingExtensionsIter.next());
		return aRemoveModification;
	}
	
	private void pipelineInterceptRemove(final PipelinedShapeModification aRemoveModification,
			final ContributorTrackingSet trackedSet,
			final NavigatorContentExtension overrideableExtension) {
		final Set overridingExtensions = new LinkedHashSet();
		for (Iterator iter = trackedSet.iterator(); iter.hasNext();) {
			Object element = (Object) iter.next();
			if (element instanceof TreePath) {
				overridingExtensions.addAll(Arrays.asList(overrideableExtension
						.getOverridingExtensionsForPossibleChild(((TreePath) element)
								.getLastSegment())));
			} else {
				overridingExtensions.addAll(Arrays.asList(overrideableExtension
						.getOverridingExtensionsForPossibleChild(element)));
			}
		}
		for (Iterator extensionsItr = overridingExtensions.iterator(); extensionsItr