To update coordinates of progress monitor and build id location 
it will be easier to put a breakpoint at BasicSplashHandler.updateUI method.
This will make run time eclipse to break immediately after the splash is shown  