if (restarting) return;
  static public void shutdown(final int exitcode) {    framework.checkAdminPermission();    AccessController.doPrivileged(new PrivilegedAction() {        public Object run() {          Thread t = new Thread() {              public void run() {                if (bootMgr != 0) {                  try {                    framework.stopBundle(bootMgr);                  } catch (BundleException e) {                    System.err.println("Stop of BootManager failed, " +                                       e.getNestedException());                  }                }                framework.shutdown();                if("true".equals(System.getProperty(EXITONSHUTDOWN_PROP, "true"))) {                  System.exit(exitcode);                } else {                  println("Framework shutdown, skipped System.exit()", 0);                }              }            };          t.setDaemon(false);          t.start();          return null;        }      });  }