Bug 328339 Part activation history seems to ignore detached windows
1. Detach a view. 2. Drag another view into said detached window. 3. Activate the two views alternatively. 4. Close one of them. 5. A part in the workbench window is activated instead of the other view in the detached window.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java
MPlaceholder areaPlaceholderB = AdvancedFactoryImpl.eINSTANCE
				.createPlaceholder();
		areaPlaceholderB.setRef(area);
		perspectiveB.getChildren().add(areaPlaceholderB);
		perspectiveB.setSelectedElement(areaPlaceholderB);
		initialize(applicationContext, application);
		getEngine().createGui(window);
		EPartService partService = window.getContext().get(EPartService.class);
		partService.activate(partA);
		partService.switchPerspective(perspectiveB);
		partService.hidePart(partA);
		partService.switchPerspective(perspectiveA);
		assertEquals(partC, partService.getActivePart());
	}
	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();