Bug 270989 Context refactoring
Based on discussions over the past weeks, I'm doing a refactoring of the context API. Major changes: - Renamed IComputedValue to IContextFunction - Renamed *Value to *Function - Renamed UIContextScheduler to UISchedulerStrategy - Added concept of ILookupStrategy to delegate lookup of keys that are not yet defined in a given context - Re-implemented OSGi service support using lookup strategy I also fixed a couple of NPE's I found while testing with the e4 photo demo (null realms, etc)
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/StackModelFactory.java
int createFlags = 0;
			
			
			CTabItem cti = findItemForPart(parentElement, element);
			if (cti == null)
				cti = new CTabItem(ctf, createFlags);
			cti.setData(OWNING_ME, element);
			cti.setText(itemPart.getName());
			cti.setImage(getImage(element));
			
			hookTabControllerLogic(parentElement, element, cti);
			
			
			Control ctrl = (Control) element.getWidget();
			if (ctrl != null) {
				cti.setControl(ctrl);
			}
		}
	}
	@Override
	public <P extends MPart<?>> void processContents(MPart<P> me) {
		Widget parentWidget = getParentWidget(me);
		if (parentWidget == null)
			return;
		
		
		List<P> parts = me.getChildren();
		if (parts != null) {
			for (MPart<?> childME : parts) {
				if (childME.isVisible())