Bug 334559 EPartService's part searching path may not include parts outside of the active perspective
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
recordStackActivation(part);
		modelService.bringToTop(part);
		window.getParent().setSelectedElement(window);
		partActivationHistory.activate(part, activateBranch);
		Object object = part.getObject();
		if (object != null && requiresFocus) {
			try {
				ContextInjectionFactory.invoke(object, Focus.class, part.getContext(), null);
			} catch (InjectionException e) {
				log("Failed to grant focus to part", "Failed to grant focus to part ({0})", 
						part.getElementId(), e);
			} catch (RuntimeException e) {
				log("Failed to grant focus to part via DI", 
						"Failed to grant focus via DI to part ({0})", part.getElementId(), e); 
			}
		}
	}
	/**
	 * Records the specified parent part's selected element in the activation history if the parent
	 * is a stack.
	 * 
	 * @param part
	 *            the part whose parent's selected element should be checked for activation history
	 *            recording
	 */
	private void recordStackActivation(MPart part) {
		MElementContainer<? extends MUIElement> parent = part.getParent();
		if (parent instanceof MGenericStack) {
			recordSelectedActivation(parent);