if (appLauncher == null) throw new IllegalStateException(); MainThreadRunnable app = new MainThreadRunnable(appHandle); appLauncher.launch(app, appHandle.getArguments() == null ? null : appHandle.getArguments().get(IApplicationContext.APPLICATION_ARGS)); appHandle.setAppRunnable(app);
if (((EclipseAppDescriptor) appHandle.getApplicationDescriptor()).getType() == EclipseAppDescriptor.FLAG_TYPE_MAIN_THREAD) {   if (appLauncher == null) throw new IllegalStateException(); appLauncher.launch(appHandle, appHandle.getArguments().get(IApplicationContext.APPLICATION_ARGS)); } else { AnyThreadAppLauncher.launchEclipseApplication(appHandle); }
	void launch(EclipseAppHandle appHandle) throws Exception {		lock(appHandle);		// use the ApplicationLauncher provided by the framework 		// to ensure it is launched on the main thread		if (appLauncher == null)			throw new IllegalStateException();		MainThreadRunnable app = new MainThreadRunnable(appHandle);		appLauncher.launch(app, appHandle.getArguments() == null ? null : appHandle.getArguments().get(IApplicationContext.APPLICATION_ARGS));		appHandle.setAppRunnable(app);	}