Bug 322403 Showing a shared part with PartState.VISIBLE may not work correctly due to incorrect parent comparisons
We check the parents of the active part against the part-to-be-shown to determine how to respond when PartState.VISIBLE is used but the check is always 'true' for shared parts because getParent() returns 'null' for both parts. This is obviously wrong. We need to update the code to consider placeholders.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java
partService.activate(partA);
		MPart partB = partService.showPart("partId", partState);
		
		assertNotNull("The part should have been rendered", partB.getContext());
	}
	public void testShowPart_Bug307747_CREATE() {
		testShowPart_Bug307747(PartState.CREATE);
	}
	public void testShowPart_Bug307747_VISIBLE() {
		testShowPart_Bug307747(PartState.VISIBLE);
	}
	public void testShowPart_Bug307747_ACTIVATE() {
		testShowPart_Bug307747(PartState.ACTIVATE);
	}
	private MApplication createApplication(String partId) {
		return createApplication(new String[] { partId });
	}
	private MApplication createApplication(String... partIds) {
		return createApplication(new String[][] { partIds });
	}
	private MApplication createApplication(String[]... partIds) {
		return createApplication(partIds.length, partIds);
	}
	private MApplication createApplication(int windows, String[][] partIds) {
		MApplication application = ApplicationFactoryImpl.eINSTANCE
				.createApplication();
		for (int i = 0; i < windows; i++) {
			MWindow window = BasicFactoryImpl.eINSTANCE.createWindow();
			application.getChildren().add(window);
			MPartStack partStack = BasicFactoryImpl.eINSTANCE.createPartStack();