Bug 305707 add a way to contribute object providers to dependency injection
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/PartServiceImpl.java
addToLastContainer(category, providedPart);
				} else {
					Object element = elements.get(0);
					if (element instanceof MElementContainer<?>) {
						((MElementContainer<MPart>) element).getChildren().add(providedPart);
					} else {
						addToLastContainer(category, providedPart);
					}
				}
			}
		}
		return providedPart;
	}
	private void addToLastContainer(String category, MPart part) {
		MElementContainer<?> lastContainer = getLastContainer();
		((List) lastContainer.getChildren()).add(part);
		if (category != null) {
			lastContainer.getTags().add(category);
		}
	}
	private MElementContainer<?> getLastContainer() {
		MElementContainer<MUIElement> searchRoot = rootContainer;
		List<MUIElement> children = searchRoot.getChildren();
		if (children.size() == 0) {
			MPartStack stack = MApplicationFactory.eINSTANCE.createPartStack();
			searchRoot.getChildren().add(stack);
			return stack;
		}
		MElementContainer<?> lastContainer = getLastContainer(searchRoot, children);
		if (lastContainer == null) {