postAsyncRunnable(new Runnable() {
postSyncRunnable(new Runnable() {
	private void updateTest(TestRunInfo info, final int status) {		if (status == info.getStatus())			return;		if (info.getStatus() == ITestRunListener.STATUS_OK) {			if (status == ITestRunListener.STATUS_FAILURE) 				fFailures++;			else if (status == ITestRunListener.STATUS_ERROR)				fErrors++;		} else if (info.getStatus() == ITestRunListener.STATUS_ERROR) {			if (status == ITestRunListener.STATUS_OK) 				fErrors--;			else if (status == ITestRunListener.STATUS_FAILURE) {				fErrors--;				fFailures++;			}		} else if (info.getStatus() == ITestRunListener.STATUS_FAILURE) {			if (status == ITestRunListener.STATUS_OK) 				fFailures--;			else if (status == ITestRunListener.STATUS_ERROR) {				fFailures--;				fErrors++;			}		}					info.setStatus(status);			final TestRunInfo finalInfo= info;		postAsyncRunnable(new Runnable() {			public void run() {				refreshCounters();				for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {					ITestRunView v= (ITestRunView) e.nextElement();					v.testStatusChanged(finalInfo);				}			}		});			}