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.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java
MPart part = (MPart) window.getSharedElements().get(0);
		assertEquals(part, placeholderA.getRef());
		assertEquals(part, placeholderB.getRef());
	}
	public void testCreateSharedPart_ForceTrue() {
		MApplication application = createApplication(1, new String[1][0]);
		MPartDescriptor partDescriptor = org.eclipse.e4.ui.model.application.descriptor.basic.impl.BasicFactoryImpl.eINSTANCE
				.createPartDescriptor();
		partDescriptor.setElementId("partId");
		application.getDescriptors().add(partDescriptor);
		MWindow window = application.getChildren().get(0);
		getEngine().createGui(window);
		EPartService partService = (EPartService) window.getContext().get(
				EPartService.class.getName());
		MPlaceholder placeholderA = partService
				.createSharedPart("partId", true);
		MPlaceholder placeholderB = partService
				.createSharedPart("partId", true);
		assertEquals(2, window.getSharedElements().size());
		MPart part1 = (MPart) window.getSharedElements().get(0);
		MPart part2 = (MPart) window.getSharedElements().get(1);
		assertTrue(part1 == placeholderA.getRef()
				|| part1 == placeholderB.getRef());
		assertTrue(part2 == placeholderA.getRef()
				|| part2 == placeholderB.getRef());
	}
	public void testShowPart_Id_ACTIVATE() {
		MApplication application = createApplication(1, new String[1][0]);
		MWindow window = application.getChildren().get(0);
		MPartDescriptor partDescriptor = org.eclipse.e4.ui.model.application.descriptor.basic.impl.BasicFactoryImpl.eINSTANCE