updateWorkerPrivileged(source);
updateWorkerPrivileged(source, callerContext);
	public void update() throws BundleException {		if (Debug.DEBUG && Debug.DEBUG_GENERAL) {			Debug.println("update location " + bundledata.getLocation()); //$NON-NLS-1$		}		framework.checkAdminPermission(this, AdminPermission.LIFECYCLE);		checkValid();		beginStateChange();		try {			updateWorker(new PrivilegedExceptionAction() {				public Object run() throws BundleException {					/* compute the update location */					String updateLocation = bundledata.getLocation();					if (bundledata.getManifest().get(Constants.BUNDLE_UPDATELOCATION) != null) {						updateLocation = (String) bundledata.getManifest().get(Constants.BUNDLE_UPDATELOCATION);						if (Debug.DEBUG && Debug.DEBUG_GENERAL) {							Debug.println("   from location: " + updateLocation); //$NON-NLS-1$						}					}					/* Map the identity to a URLConnection */					URLConnection source = framework.adaptor.mapLocationToURLConnection(updateLocation);					/* call the worker */					updateWorkerPrivileged(source);					return null;				}			});		} finally {			completeStateChange();		}	}