Bug 299680 Loading model deltas should properly process exception and fallback to the base model
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/Workbench.java
adapterType = (Class) arguments[0];
				}
				Object newInput = null;
				Object newValue = context.get(IServiceConstants.SELECTION);
				if (adapterType == null || adapterType.isInstance(newValue)) {
					newInput = newValue;
				} else if (newValue != null && adapterType != null) {
					IAdapterManager adapters = (IAdapterManager) applicationContext
							.get(IAdapterManager.class.getName());
					if (adapters != null) {
						Object adapted = adapters.loadAdapter(newValue, adapterType.getName());
						if (adapted != null) {
							newInput = adapted;
						}
					}
				}
				return newInput;
			}
		});
		mainContext.set(IServiceConstants.ACTIVE_SHELL, new ActiveChildLookupFunction(
				IServiceConstants.ACTIVE_SHELL, LOCAL_ACTIVE_SHELL));
		initializeNullStyling(mainContext);
		return mainContext;
	}
	private MApplication createWorkbenchModel(URI applicationDefinitionInstance) {
		handler = new ResourceHandler(instanceLocation, applicationDefinitionInstance,
				saveAndRestore);
		long restoreLastModified = handler.getLastStoreDatetime();
		long lastApplicationModification = getLastApplicationModification(applicationDefinitionInstance);
		boolean restore = restoreLastModified > lastApplicationModification;