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
selected = ((MPlaceholder) selected).getRef();
				}
				MPart oldSelectedPart = oldSelected instanceof MPart ? (MPart) oldSelected : null;
				MPart selectedPart = selected instanceof MPart ? (MPart) selected : null;
				if (oldSelectedPart != null && getParts().contains(selectedPart)) {
					firePartHidden(oldSelectedPart);
				}
				if (selectedPart != null && selectedPart.isToBeRendered()
						&& getParts().contains(selectedPart)) {
					firePartVisible(selectedPart);
					firePartBroughtToTop(selectedPart);
				}
			}
		}
	};
	private MApplication application;
	/**
	 * Might be null if this part service is created for the application
	 */
	private MWindow workbenchWindow;
	@Inject
	private IPresentationEngine engine;
	@Inject
	private EModelService modelService;
	@Inject
	private Logger logger;
	@Inject
	@Optional
	private ISaveHandler saveHandler;
	@Inject