String timeString = System.getProperty("eclipse.startTime");
String timeString = FrameworkProperties.getProperty("eclipse.startTime");
	private Object runApplication(Object defaultContext) throws Exception {		// wait for an application to be launched.		waitForAppLock.acquire();		// an application is ready; acquire the running lock.		// this must happen after we have acquired an application (by acquiring waitForAppLock above).		runningLock.acquire();		if (EclipseStarter.debug) {			String timeString = System.getProperty("eclipse.startTime"); //$NON-NLS-1$ 			long time = timeString == null ? 0L : Long.parseLong(timeString);			System.out.println("Starting application: " + (System.currentTimeMillis() - time)); //$NON-NLS-1$ 		}		if (Profile.PROFILE && (Profile.STARTUP || Profile.BENCHMARK))			Profile.logTime("EclipseStarter.run(Object)()", "framework initialized! starting application..."); //$NON-NLS-1$ //$NON-NLS-2$		try {			// run the actual application on the current thread (main).			return runnable.run(appContext != null ? appContext : defaultContext);		} finally {			if (Profile.PROFILE && Profile.STARTUP)				Profile.logExit("EclipseStarter.run(Object)()"); //$NON-NLS-1$			// free the runnable application and release the lock to allow another app to be launched.			runnable = null;			appContext = null;			runningLock.release();		}	}