stopWorker(true);
stopWorker(STOP_TRANSIENT);
	protected void uninstallWorker(PrivilegedExceptionAction action) throws BundleException {		boolean bundleActive = false;		if (!isFragment())			bundleActive = (state == ACTIVE);		if (bundleActive) {			try {				stopWorker(true);			} catch (BundleException e) {				framework.publishFrameworkEvent(FrameworkEvent.ERROR, this, e);			}		}		try {			AccessController.doPrivileged(action);		} catch (PrivilegedActionException pae) {			if (bundleActive) /* if we stopped the bundle */{				try {					startWorker(false);				} catch (BundleException e) {					/*					 * if we fail to start the original bundle then we are in					 * big trouble					 */					framework.publishFrameworkEvent(FrameworkEvent.ERROR, this, e);				}			}			throw (BundleException) pae.getException();		}		framework.publishBundleEvent(BundleEvent.UNINSTALLED, this);	}