Bug 298848 Reusability of the class PartRenderingEngine is limited by the FactoryId
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/internal/PartRenderingEngine.java
IEclipseContext lclContext = EclipseContextFactory.create(
						parentContext, UISchedulerStrategy.getInstance());
				populateModelInterfaces(ctxt, lclContext, element.getClass()
						.getInterfaces());
				ctxt.setContext(lclContext);
				
				
				for (String variable : ctxt.getVariables()) {
					lclContext.declareModifiable(variable);
				}
				Workbench.processHierarchy(element);
			}
		}
		
		Object newWidget = createWidget(element, parent);
		
		if (newWidget != null) {
			AbstractPartRenderer factory = getFactoryFor(element);
			
			if (element.getId() != null && element.getId().length() > 0
					&& newWidget instanceof Control) {
				Object implementation = null;
				if (element instanceof MContribution)
					implementation = ((MContribution) element).getObject();
				
				RenderingRecord record = renderedWidgets.get(element.getId());
				if (record == null)
					record = new RenderingRecord((Control) newWidget, factory,
							implementation);
				record.refCount++;