setVersion(Version.emptyVersion);
setVersion(new InvalidVersion((String) manifest.get(Constants.BUNDLE_VERSION)));
	protected void loadFromManifest() throws BundleException {		getManifest();		if (manifest == null)			throw new BundleException(NLS.bind(AdaptorMsg.ADAPTOR_ERROR_GETTING_MANIFEST, getLocation())); //$NON-NLS-1$		try {			setVersion(Version.parseVersion((String) manifest.get(Constants.BUNDLE_VERSION)));		} catch (IllegalArgumentException e) {			setVersion(Version.emptyVersion);		}		ManifestElement[] bsnHeader = ManifestElement.parseHeader(Constants.BUNDLE_SYMBOLICNAME, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME));		int bundleType = 0;		if (bsnHeader != null) {			setSymbolicName(bsnHeader[0].getValue());			String singleton = bsnHeader[0].getDirective(Constants.SINGLETON_DIRECTIVE);			if (singleton == null)				singleton = bsnHeader[0].getAttribute(Constants.SINGLETON_DIRECTIVE);			if ("true".equals(singleton)) //$NON-NLS-1$					bundleType |= TYPE_SINGLETON;		}		setClassPathString((String) manifest.get(Constants.BUNDLE_CLASSPATH));		setActivator((String) manifest.get(Constants.BUNDLE_ACTIVATOR));		String host = (String) manifest.get(Constants.FRAGMENT_HOST);		if (host != null) {			bundleType |= TYPE_FRAGMENT;			ManifestElement[] hostElement = ManifestElement.parseHeader(Constants.FRAGMENT_HOST, host);			if (Constants.getInternalSymbolicName().equals(hostElement[0].getValue()) || Constants.OSGI_SYSTEM_BUNDLE.equals(hostElement[0].getValue())) {				String extensionType = hostElement[0].getDirective("extension"); //$NON-NLS-1$				if (extensionType == null || extensionType.equals("framework")) //$NON-NLS-1$					bundleType |= TYPE_FRAMEWORK_EXTENSION;				else					bundleType |= TYPE_BOOTCLASSPATH_EXTENSION;			}		}		setType(bundleType);		setExecutionEnvironment((String) manifest.get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT));		setDynamicImports((String) manifest.get(Constants.DYNAMICIMPORT_PACKAGE));	}