stateManager = new StateManager(getStateBaseLocation(), timeStamp);
stateManager = new StateManager(new EclipseBundleInstaller(), getStateBaseLocation(), timeStamp);
	protected StateManager createStateManager() {		readHeaders();		checkLocationAndReinitialize();		stateManager = new StateManager(getStateBaseLocation(), timeStamp);		StateImpl systemState = stateManager.getSystemState();		if (systemState != null)			return stateManager;		systemState = stateManager.createSystemState();						Vector installedBundles = getInstalledBundles();		if (installedBundles == null)			return stateManager;		StateObjectFactory factory = stateManager.getFactory();		for (Iterator iter = installedBundles.iterator(); iter.hasNext(); ) {			BundleData toAdd = (BundleData) iter.next();			try {				Dictionary manifest = toAdd.getManifest();				BundleDescription newDescription = factory.createBundleDescription(manifest, 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();		return stateManager;	}	