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/actions/LinkEditorAction.java
for (int i = 0; i < helpers.length; i++) {
							selection = helpers[i].findSelection(input);
							if (selection != null && !selection.isEmpty()) {
								newSelection = mergeSelection(newSelection, selection);
							}
						}
						if(!newSelection.isEmpty()) {
							commonNavigator.selectReveal(newSelection);
						}
					}
				}
			} catch (Throwable e) { 
				String msg = e.getMessage() != null ? e.getMessage() : e.toString();
				NavigatorPlugin.logError(0, msg, e);
			}
			return Status.OK_STATUS;
		}
	};
	/**
	 * Create a LinkEditorAction for the given navigator and viewer.
	 * 
	 * @param aNavigator
	 *            The navigator which defines whether linking is enabled and
	 *            implements {@link ISetSelectionTarget}.
	 * @param aViewer
	 *            The common viewer instance with a
	 *            {@link INavigatorContentService}.
	 */
	public LinkEditorAction(CommonNavigator aNavigator, CommonViewer aViewer) {
		super(CommonNavigatorMessages.LinkEditorActionDelegate_0);