public static void checkVersion(
      final Component parent, final boolean forcePrompt, final boolean exitOnLaunch) {
    final BasicVersionCheckerProvider dataProvider =
        new BasicVersionCheckerProvider(VersionCheckerUtility.class);
    final boolean gaOnly = !WorkspaceSettings.getInstance().isNotifyForAllBuilds();
    if (gaOnly) {
      dataProvider.setVersionRequestFlags(BasicVersionCheckerProvider.DEPTH_GA_MASK);
    } else {
      dataProvider.setVersionRequestFlags(BasicVersionCheckerProvider.DEPTH_ALL_MASK);
    }
    final VersionChecker vc = new VersionChecker();
    vc.setDataProvider(dataProvider);
    vc.addResultHandler(new InternalResultHandler(parent, forcePrompt, exitOnLaunch));
    vc.addErrorHandler(new NoPromptErrorHandler());

    // start new thread; do not run in event thread
    final Thread vcThread = new Thread(new VersionCheckerRunnable(vc));
    vcThread.setDaemon(true);
    vcThread.start();
  }
 public void run() {
   vc.performCheck(false);
 }