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
if (targetMethod == null) {
			if (defaultValue != null) {
				return defaultValue;
			}
			throw new RuntimeException(
					"could not find satisfiable method " + methodName + " in class " + object.getClass()); 
		}
		Class[] paramKeys = targetMethod.getParameterTypes();
		try {
			Object[] params = new Object[paramKeys.length];
			for (int i = 0; i < params.length; i++) {
				params[i] = context.get(paramKeys[i].getName());
			}
			return targetMethod.invoke(object, params);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	public Display getDisplay() {
		return appWindow.getDisplay();
	}
	public void closeWindow(MWorkbenchWindow workbenchWindow) {
		
		((Shell) workbenchWindow.getWidget()).close();
	}
	public Shell getShell() {
		return appWindow;
	}
}