private void runStartupWithProgress(final int expectedProgressCount,
final Runnable runnable) {
progressCount = 0;
final double cutoff = 0.95;
AbstractSplashHandler handler = getSplash();
IProgressMonitor progressMonitor = null;
if (handler != null)
progressMonitor = handler.getBundleProgressMonitor();
if (progressMonitor == null) {
// cannot report progress (e.g. if the splash screen is not showing)
// fall back to starting without showing progress.
runnable.run();