systemState.setTimeStamp(timeStamp);
	private StateManager readStateData() {		File[] stateFiles = findStorageFiles(new String[] {LocationManager.STATE_FILE, LocationManager.LAZY_FILE});		File stateFile = stateFiles[0];		File lazyFile = stateFiles[1];		stateManager = new StateManager(stateFile, lazyFile, context, timeStamp);		State systemState = null;		if (!invalidState) {			systemState = stateManager.readSystemState();			if (systemState != null)				return stateManager;		}		systemState = stateManager.createSystemState();		Bundle[] installedBundles = context.getBundles();		if (installedBundles == null)			return stateManager;		StateObjectFactory factory = stateManager.getFactory();		for (int i = 0; i < installedBundles.length; i++) {			AbstractBundle toAdd = (AbstractBundle) installedBundles[i];			try {				// make sure we get the real manifest as if this is the first time.				Dictionary toAddManifest = loadManifest((BaseData) toAdd.getBundleData(), true);				BundleDescription newDescription = factory.createBundleDescription(systemState, toAddManifest, toAdd.getLocation(), toAdd.getBundleId());				systemState.addBundle(newDescription);			} catch (BundleException be) {				// just ignore bundle datas with invalid manifests			}		}		// we need the state resolved		systemState.setTimeStamp(timeStamp);		systemState.resolve();		invalidState = false;		return stateManager;	}