Bug 304448 E4Workbench never locks the instance area
The E4Workbench never appears to lock the instance area for the workspace. This means multiple instances could be launched which use the same instance area. org.eclipse.e4.workbench.ui.internal.ResourceHandler.ResourceHandler(Location, URI, boolean, Logger) constructor gets the instance area URL but it never attempts to lock the instance area. Is this intentional or an oversight?
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/E4Application.java
.getInstanceLocation();
		String appModelPath = getArgValue(E4Workbench.XMI_URI_ARG, appContext);
		Assert.isNotNull(appModelPath, E4Workbench.XMI_URI_ARG
				+ " argument missing"); 
		final URI initialWorkbenchDefinitionInstance = URI
				.createPlatformPluginURI(appModelPath, true);
		boolean saveAndRestore;
		String value = getArgValue(E4Workbench.SAVE_AND_RESTORE, appContext);
		saveAndRestore = value == null || Boolean.getBoolean(value);
		eclipseContext.set(E4Workbench.SAVE_AND_RESTORE,
				Boolean.valueOf(saveAndRestore));
		eclipseContext.set(E4Workbench.INITIAL_WORKBENCH_MODEL_URI,
				initialWorkbenchDefinitionInstance);
		eclipseContext.set(E4Workbench.INSTANCE_LOCATION, instanceLocation);
		String resourceHandler = getArgValue(
				E4Workbench.MODEL_RESOURCE_HANDLER, appContext);
		if (resourceHandler == null) {
			resourceHandler = "platform:/plugin/org.eclipse.e4.ui.workbench/"
					+ ResourceHandler.class.getName();
		}
		IContributionFactory factory = eclipseContext
				.get(IContributionFactory.class);
		handler = (IModelResourceHandler) factory.create(resourceHandler,
				eclipseContext);
		Resource resource = handler.loadMostRecentModel();
		theApp = (MApplication) resource.getContents().get(0);
		return theApp;
	}
	private String getArgValue(String argName, IApplicationContext appContext) {