Please review fix for CR 6830630
"ServiceManager.stopServices() throws NullPointerException".
ServiceManager throws NullPointerException in stopServices() method in the line:
It happens if user cancels test run when the last test of the run has been started already. In this case services are being stopped simultaniously from ServiceManager.stoppingTestRun() and from ServiceManager.finishedTesting(), one of the threads sets "harness" variable to null, then another tries to remove observers.
stopServices() method should be synchronized - that will prevent from data inconsistency for Harness observers.
harness object checked for null inside stopServices() method in case second thread read ServiceManager as Harness observer during the first didn't removed it from observer list yet.