Bug 280938 Remove 'name' argument from IEclipseContext#runAndTrack
I20090618 IEclipseContext#runAndTrack has a "name" argument that is only used for debugging purposes. I would like to remove this because it has very limited value - people can just as easily define a toString on their Runnable that can be used for debugging purposes. Clients are likely to find the parameter confusing, and will be unlikely to provide a string that provides us with much value as a debugging aid. Also, the runAndTrack(IRunAndTrack) method doesn't have such a name, which is inconsistent. I'd like to make this change now to avoid the churn of changing it once we have more adopters.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/Workbench.java
*/
	public static void initializeContext(IEclipseContext parentContext, MPart<?> part) {
		final IEclipseContext context;
		if (part.getContext() != null) {
			context = part.getContext();
		} else {
			context = EclipseContextFactory
					.create(parentContext, UISchedulerStrategy.getInstance());
		}
		
		
		final Class[] interfaces = part.getClass().getInterfaces();
		for (Class intf : interfaces) {
			System.err.println("add intf: " + intf.getName()); 
			context.set(intf.getName(), part);
		}
		part.setContext(context);
		
		for (MPart<?> child : (EList<MPart<?>>) part.getChildren()) {
			initializeContext(context, child);
		}
		part.eAdapters().add(new AdapterImpl() {
			@Override
			public void notifyChanged(Notification msg) {
				if (ApplicationPackage.Literals.MPART__CHILDREN.equals(msg.getFeature())
						&& msg.getEventType() == Notification.ADD) {
					MPart<?> added = (MPart<?>) msg.getNewValue();
					initializeContext(context, added);
				}
			}