Bug 328946 Part activation history may return incorrect candidate if no placeholders could be found in a perspective
1. Window > Open Perspective > Other... > CVS Repository Exploring 2. Hide the 'CVS Repositories' view. 3. The 'History' view should become active, it is not.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java
.createPerspective();
		perspectiveStack.getChildren().add(perspectiveB);
		MPart partA = BasicFactoryImpl.eINSTANCE.createPart();
		perspectiveB.getChildren().add(partA);
		perspectiveB.setSelectedElement(partA);
		MPartStack partStack = BasicFactoryImpl.eINSTANCE.createPartStack();
		perspectiveB.getChildren().add(partStack);
		MPart partB = BasicFactoryImpl.eINSTANCE.createPart();
		partStack.getChildren().add(partB);
		partStack.setSelectedElement(partB);
		MPart partC = BasicFactoryImpl.eINSTANCE.createPart();
		partStack.getChildren().add(partC);
		MPlaceholder placeholderD2 = AdvancedFactoryImpl.eINSTANCE
				.createPlaceholder();
		placeholderD2.setRef(partD);
		partStack.getChildren().add(placeholderD2);
		initialize(applicationContext, application);
		getEngine().createGui(window);
		EPartService partService = window.getContext().get(EPartService.class);
		partService.switchPerspective(perspectiveB);
		partService.activate(partB);
		assertEquals(perspectiveB, perspectiveStack.getSelectedElement());
		partService.switchPerspective(perspectiveA);
		assertEquals(perspectiveA, perspectiveStack.getSelectedElement());
	}
	public void testSwitchPerspective08() {
		MApplication application = ApplicationFactoryImpl.eINSTANCE
				.createApplication();
		MWindow window = BasicFactoryImpl.eINSTANCE.createWindow();
		application.getChildren().add(window);