Bug 139511 [CommonNavigator] getParent() fails in certain cases
In the implementation of getParents(), clients can sometimes fail to return the correct parent with the override cases taken into account. The attached patch fixes these issues, but should be reviewed by the Team Team to ensure that it does not cause any regressions for their cases.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorContentServiceContentProvider.java
Collection newPaths = getPathsForElement(pipelinedContentProvider, aSuggestedParent);
								adjustedParentPaths.add(newPaths);
							} else {
								adjustedParentPaths.add(parentPath);
							}
						}
					}
				}
				overridingExtensions = theOverridingExtensions[i]
				                                               .getOverridingExtensionsForTriggerPoint(anInputElement);
				if (overridingExtensions.length > 0)
					adjustedParentPaths = pipelineParents(anInputElement,
							overridingExtensions, adjustedParentPaths);
				theParentPaths = adjustedParentPaths;
			}
		}
		return theParentPaths;
	}
	
	/**
	 * Return all the potential paths for the given element from the given
	 * content provider. This is done by getting the parent paths of
	 * the element and then appending he element to these paths.
	 * @param aContentProvider the content povider
	 * @param anElement the element
	 * @return the tree path fo the given element
	 */
	private Collection getPathsForElement(ITreeContentProvider aContentProvider, Object anElement) {
		List result = new ArrayList();
		if (aContentProvider instanceof ITreePathContentProvider) {