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
MPerspectiveStack perspectiveStack = AdvancedFactoryImpl.eINSTANCE
				.createPerspectiveStack();
		window.getChildren().add(perspectiveStack);
		window.setSelectedElement(perspectiveStack);
		MPerspective perspectiveA = AdvancedFactoryImpl.eINSTANCE
				.createPerspective();
		perspectiveStack.getChildren().add(perspectiveA);
		perspectiveStack.setSelectedElement(perspectiveA);
		MPerspective perspectiveB = AdvancedFactoryImpl.eINSTANCE
				.createPerspective();
		perspectiveStack.getChildren().add(perspectiveB);
		initialize(applicationContext, application);
		getEngine().createGui(window);
		EModelService modelService = window.getContext().get(
				EModelService.class);
		EPartService partService = window.getContext().get(EPartService.class);
		partService.showPart(part, PartState.ACTIVATE);
		List<MPart> partsA = modelService.findElements(perspectiveA,
				part.getElementId(), MPart.class, null);
		assertEquals(1, partsA.size());
		assertEquals(part, partsA.get(0));
		List<MPlaceholder> placeholdersA = modelService.findElements(
				perspectiveA, part.getElementId(), MPlaceholder.class, null);
		assertEquals(1, placeholdersA.size());
		assertEquals(part.getCurSharedRef(), placeholdersA.get(0));
		assertEquals(part, placeholdersA.get(0).getRef());
		List<MPart> partsB = modelService.findElements(perspectiveB,
				part.getElementId(), MPart.class, null);
		assertEquals(0, partsB.size());
		List<MPlaceholder> placeholdersB = modelService.findElements(