synchronized (bundles) { boolean changed; do { changed = false;
boolean changed; do { changed = false;
	private void suspendAllBundles(BundleRepository bundles) {		synchronized (bundles) {			boolean changed;			do {				changed = false;				AbstractBundle[] shutdown = this.getInstalledBundles(bundles);				// shutdown all running bundles				for (int i = shutdown.length - 1; i >= 0; i--) {					AbstractBundle bundle = shutdown[i];					if (framework.suspendBundle(bundle, false)) {						if (Debug.DEBUG && Debug.DEBUG_STARTLEVEL) {							Debug.println("SLL: stopped bundle " + bundle.getBundleId()); //$NON-NLS-1$						}						changed = true;					}				}			} while (changed);			try {				framework.systemBundle.context.stop();			} catch (BundleException sbe) {				if (Debug.DEBUG && Debug.DEBUG_STARTLEVEL) {					Debug.println("SLL: Bundle suspend exception: " + sbe.getMessage()); //$NON-NLS-1$					Debug.printStackTrace(sbe.getNestedException());				}				framework.publishFrameworkEvent(FrameworkEvent.ERROR, framework.systemBundle, sbe);			}			framework.systemBundle.state = AbstractBundle.STARTING;		}	}