exportedPackages.add(exports[i].getName());
	final void initialize(BundleDescription description) {		// init the require bundles list.		BundleDescription[] required = description.getResolvedRequires();		if (required.length > 0) {			// get a list of re-exported symbolic names			HashSet reExportSet = new HashSet(required.length);			BundleSpecification[] requiredSpecs = description.getRequiredBundles();			if (requiredSpecs != null && requiredSpecs.length > 0)				for (int i = 0; i < requiredSpecs.length; i++)					if (requiredSpecs[i].isExported())						reExportSet.add(requiredSpecs[i].getName());			requiredBundles = new BundleLoaderProxy[required.length];			int[] reexported = new int[required.length];			int reexportIndex = 0;			for (int i = 0; i < required.length; i++) {				requiredBundles[i] = getLoaderProxy(required[i]);				if (reExportSet.contains(required[i].getSymbolicName()))					reexported[reexportIndex++] = i;			}			if (reexportIndex > 0) {				reexportTable = new int[reexportIndex];				System.arraycopy(reexported, 0, reexportTable, 0, reexportIndex);			}		}		// init the provided packages set		ExportPackageDescription[] exports = description.getSelectedExports();		if (exports != null && exports.length > 0) {			exportedPackages = new ArrayList(exports.length);			for (int i = 0; i < exports.length; i++) {				if (!exportedPackages.contains(exports[i].getName())) {					exportedPackages.add(exports[i].getName());					// must force filtered and reexport sources to be created early					// to prevent lazy normal package source creation.					// We only do this for the first export of a package name. 					proxy.createPackageSource(exports[i], true);				}			}		}		//This is the fastest way to access to the description for fragments since the hostdescription.getFragments() is slow		org.osgi.framework.Bundle[] fragmentObjects = bundle.getFragments();		BundleDescription[] fragments = new BundleDescription[fragmentObjects == null ? 0 : fragmentObjects.length];		for (int i = 0; i < fragments.length; i++)			fragments[i] = ((AbstractBundle) fragmentObjects[i]).getBundleDescription();		// init the dynamic imports tables		if (description.hasDynamicImports())			addDynamicImportPackage(description.getImportPackages());		// ...and its fragments		for (int i = 0; i < fragments.length; i++)			if (fragments[i].isResolved() && fragments[i].hasDynamicImports())				addDynamicImportPackage(fragments[i].getImportPackages());		//Initialize the policy handler		try {			String buddyList = null;			if ((buddyList = (String) bundle.getBundleData().getManifest().get(Constants.BUDDY_LOADER)) != null)				policy = new PolicyHandler(this, buddyList);		} catch (BundleException e) {			//ignore		}	}