ExportPackageDescription epd = state.getFactory().createExportPackageDescription(exports[j].getName(), exports[j].getVersion(), null, exports[j].getExportPackageDescription().getInclude(), exports[j].getExportPackageDescription().getExclude(), exports[j].getExportPackageDescription().getAttributes(), exports[j].getExportPackageDescription().getMandatory(), false, reexporter.getBundle());
Map directives = exports[j].getExportPackageDescription().getDirectives(); directives.remove(Constants.USES_DIRECTIVE); ExportPackageDescription epd = state.getFactory().createExportPackageDescription(exports[j].getName(), exports[j].getVersion(), directives, exports[j].getExportPackageDescription().getAttributes(), false, reexporter.getBundle());
	private boolean resolveImportReprovide0(ResolverImport imp, ResolverBundle reexporter, ResolverBundle rb) {		BundleConstraint[] requires = rb.getRequires();		for (int i = 0; i < requires.length; i++) {			if (!((BundleSpecification) requires[i].getVersionConstraint()).isExported())				continue; // Skip require if it doesn't reprovide the packages			// Check exports to see if we've found the root			if (requires[i].getMatchingBundle() == null)				continue;			ResolverExport[] exports = requires[i].getMatchingBundle().getExportPackages();			for (int j = 0; j < exports.length; j++) {				if (imp.getName().equals(exports[j].getName())) {					ExportPackageDescription epd = state.getFactory().createExportPackageDescription(exports[j].getName(), exports[j].getVersion(), null, exports[j].getExportPackageDescription().getInclude(), exports[j].getExportPackageDescription().getExclude(), exports[j].getExportPackageDescription().getAttributes(), exports[j].getExportPackageDescription().getMandatory(), false, reexporter.getBundle());					if (imp.getImportPackageSpecification().isSatisfiedBy(epd)) {						// Create reexport and add to bundle and resolverExports						if (DEBUG_IMPORTS)							ResolverImpl.log(" - Creating re-export for reprovide: " + reexporter + ":" + epd.getName()); //$NON-NLS-1$ //$NON-NLS-2$						ResolverExport re = new ResolverExport(reexporter, epd, true);						reexporter.addExport(re);						groupingChecker.addReprovideConstraints(re);						resolverExports.put(re);						// Resolve import						if (resolveImport(imp, false))							return true;					}				}			}			// Check requires of matching bundle (recurse down the chain)			if (resolveImportReprovide0(imp, reexporter, requires[i].getMatchingBundle()))				return true;		}		return false;	}