framework.startLevelManager.saveActiveStartLevel(decToSL);  BundleRepository bundles = framework.bundles;
saveActiveStartLevel(decToSL);
	protected void decFWSL(int decToSL) {		if (Debug.DEBUG && Debug.DEBUG_STARTLEVEL) {			Debug.println("SLL: decFWSL: saving activeSL of " + decToSL); //$NON-NLS-1$		}		framework.startLevelManager.saveActiveStartLevel(decToSL);		BundleRepository bundles = framework.bundles;		if (decToSL == 0) { // stopping the framework			/* stop all running bundles */			suspendAllBundles(bundles);			unloadAllBundles(bundles);		} else {			// just decrementing the active startlevel - framework is not shutting down			// get the list of installed bundles, sorted by startlevel			AbstractBundle[] shutdown = getInstalledBundles(bundles);			for (int i = shutdown.length - 1; i >= 0; i--) {				int bsl = shutdown[i].getStartLevel();				if (bsl > decToSL + 1) {					// don't need to mess with bundles with startlevel > the previous active - they should					// already have been stopped					continue;				} else if (bsl <= decToSL) {					// don't need to keep going - we've stopped all we're going to stop					break;				} else if (shutdown[i].isActive()) {					// if bundle is active or starting, then stop the bundle					if (Debug.DEBUG && Debug.DEBUG_STARTLEVEL) {						Debug.println("SLL: stopping bundle " + shutdown[i].getBundleId()); //$NON-NLS-1$					}					framework.suspendBundle(shutdown[i], false);				}			}		}	}