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/internal/Workbench.java
ILegacyHook impl = null;
		if (hooks.length > 0) {
			try {
				impl = (ILegacyHook) hooks[0]
						.createExecutableExtension("class"); 
				legacyHook = impl;
				legacyHook.init(this, workbench);
			} catch (CoreException e) {
				e.printStackTrace();
			}
		}
	}
	private EObject findObject(TreeIterator<EObject> it, String id) {
		while (it.hasNext()) {
			EObject el = it.next();
			if (el instanceof MApplicationElement) {
				if (el.eResource().getURIFragment(el).equals(id)) {
					return el;
				}
			}
		}
		return null;
	}
	private void init(MApplication<MWorkbenchWindow> workbench) {
	}
	public int run() {
		MWorkbenchWindow wbw = workbench.getWindows().get(0);
		createGUI(wbw);
		rv = 0;
		Platform.endSplash();