Bug 283194 [UI] StackModelFactory does not need 'engine' local
We can remove this from createWidget() final IStylingEngine engine = (IStylingEngine) folderContext .get(IStylingEngine.SERVICE_NAME); because the engine is now passed in via DI. Replace the refs to "engine" with the local "stylingEngine".
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/StackRenderer.java
String cssClassName = (String) ctf
					.getData("org.eclipse.e4.ui.css.CssClassName"); 
			stylingEngine.setClassname(cti, cssClassName);
		}
		cti.setData(OWNING_ME, element);
		cti.setText(itemPart.getName());
		cti.setImage(getImage(element));
		cti.setControl((Control) element.getWidget());
		
		hookTabControllerLogic(parentElement, element, cti);
	}
	private int calcIndexFor(final MPart element) {
		int index = 0;
		
		EList<MPart> kids = element.getParent().getChildren();
		for (Iterator iterator = kids.iterator(); iterator.hasNext();) {
			MPart mPart = (MPart) iterator.next();
			if (mPart == element)
				return index;
			if (mPart.isVisible())
				index++;
		}
		return index;
	}
	@Override
	public void childAdded(final MPart<?> parentElement, MPart<?> element) {
		super.childAdded(parentElement, element);
		if (element instanceof MItemPart<?>) {
			internalChildAdded(parentElement, element);