Bug 264899 Replace context name with computable debug string
Contexts currently are required to have a name, but this string is only used for debugging purposes. We should instead store this "debug string" in the context itself, allowing clients to use a computed value to add additional debug information. We can make this name optional by supplying a default value, which simplifies life for clients that don't care about the name (much as toString() is optional and a default is provided for those who don't care to implement it).
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/renderers/swt/StackModelFactory.java
&& (child = (IEclipseContext) currentActive
									.get("activeChild")) != null && child != currentActive) { 
						currentActive = child;
					}
					
					
					if (currentActive == folderContext) {
						engine.setClassname(ctf, "active"); 
					} else {
						engine.setClassname(ctf, "inactive"); 
					}
				}
			}, ""); 
		}
		return newWidget;
	}
	public void postProcess(MPart<?> part) {
		if (!(part instanceof MStack))
			return;
		CTabFolder ctf = (CTabFolder) part.getWidget();
		CTabItem[] items = ctf.getItems();
		MPart<?> selPart = ((MStack) part).getActiveChild();
		
		if (selPart == null && part.getChildren().size() > 0) {
			((MStack) part).setActiveChild((MItemPart<?>) part.getChildren().get(
					0));
			
		} else {
			for (int i = 0; i < items.length; i++) {
				MPart<?> me = (MPart<?>) items[i].getData(OWNING_ME);