protected synchronized ApplicationHandle launchSpecific(Map arguments) throws Exception {   if (locked.booleanValue())
protected ApplicationHandle launchSpecific(Map arguments) throws Exception {  if (getLocked().booleanValue())
	protected synchronized ApplicationHandle launchSpecific(Map arguments) throws Exception {		// we only allow one application to run at a time; do not launch an application		// if one is already launched or if this application is locked.		if (locked.booleanValue())			throw new IllegalStateException("Cannot launch a locked application."); //$NON-NLS-1$		// initialize the appHandle		EclipseAppHandle appHandle = createAppHandle();		appHandle.setArguments(arguments);		try {			// use the appContainer to launch the application on the main thread.			appContainer.launch(appHandle);		} catch (Throwable t) {			// be sure to destroy the appHandle if an error occurs			appHandle.destroy();			if (t instanceof Exception)				throw (Exception) t;			throw (Error) t;		}		return appHandle;	}