Bug 343003 Selection changes for shared parts may not be propagated if they were not originally rendered in the model
The search algorithm currently only iterates through containers for parts. This will not work for parts that are represented by placeholders.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/ESelectionServiceTest.java
public Object otherSelection;
		public void setOtherSelection(Object selection) {
			otherSelection = selection;
		}
	}
	static class UseSelectionHandler {
		public Object selection;
		@Execute
		public void execute(
				@Optional @Named(ESelectionService.SELECTION) Object s) {
			selection = s;
		}
	}
	public void testOnePartSelection() throws Exception {
		MApplication application = ApplicationFactoryImpl.eINSTANCE
				.createApplication();
		MWindow window = BasicFactoryImpl.eINSTANCE.createWindow();
		application.getChildren().add(window);
		application.setSelectedElement(window);
		MPart part = BasicFactoryImpl.eINSTANCE.createPart();
		window.getChildren().add(part);
		window.setSelectedElement(part);
		initialize(applicationContext, application);
		getEngine().createGui(window);
		ProviderPart p = new ProviderPart();
		ContextInjectionFactory.inject(p, part.getContext());
		assertNull(p.input);
		Object selection = new Object();