Bug 327964 EPartService's hidePart may fail when trying to hide a shared part that's in a shared container
The placeholder retrieval code in the EPartService implementation doesn't go far down deep enough and actually stops at the shared container level. This causes the placeholder of the shared part to not be found.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
}
	private void firePartBroughtToTop(MPart part) {
		for (Object listener : listeners.getListeners()) {
			((IPartListener) listener).partBroughtToTop(part);
		}
	}
	public void addPartListener(IPartListener listener) {
		listeners.add(listener);
	}
	public void removePartListener(IPartListener listener) {
		listeners.remove(listener);
	}
	private MWindow getWindow() {
		if (workbenchWindow != null)
			return workbenchWindow;
		if (application.getSelectedElement() != null)
			return application.getSelectedElement();
		List<MWindow> windows = application.getChildren();
		if (windows.size() != 0)
			return windows.get(0);
		return null;
	}
	private MContext getParentWithContext(MUIElement part) {
		MElementContainer<MUIElement> parent = part.getParent();
		MUIElement intermediate = parent;
		while (parent != null) {
			if (parent instanceof MContext) {
				if (((MContext) parent).getContext() != null)
					return (MContext) parent;
			}