exportNames.add(exports[i].getName()); }
	private void getPackages(BundleDescription requiredBundle, String symbolicName, List importList, List packageList, List visited, boolean strict, String pkgName) {		if (visited.contains(requiredBundle))			return; // prevent duplicate entries and infinate loops incase of cycles		visited.add(requiredBundle);		// add all the exported packages from the required bundle; take x-friends into account.		ExportPackageDescription[] exports = requiredBundle.getSelectedExports();		for (int i = 0; i < exports.length; i++)			if ((pkgName == null || exports[i].getName().equals(pkgName)) && !isSystemExport(exports[i]) && isFriend(symbolicName, exports[i], strict) && !importList.contains(exports[i].getName()))				packageList.add(exports[i]);		// now look for reexported bundles from the required bundle.		BundleSpecification[] requiredBundles = requiredBundle.getRequiredBundles();		for (int i = 0; i < requiredBundles.length; i++)			if ((pkgName != null || requiredBundles[i].isExported()) && requiredBundles[i].getSupplier() != null)				getPackages((BundleDescription) requiredBundles[i].getSupplier(), symbolicName, importList, packageList, visited, strict, pkgName);	}