if (requiredBundles == null) return; int size = reexportTable == null ? 0 : reexportTable.length; int reexportIndex = 0; for (int i = 0; i < requiredBundles.length; i++) { if (reexportIndex < size && reexportTable[reexportIndex] == i) { reexportIndex++; requiredBundles[i].getBundleLoader().addExportedProvidersFor(packageName, result, visited); } }
	protected void addExportedProvidersFor(String packageName, ArrayList result, KeyedHashSet visited) {		// TODO is it ok to use bundle as the visit token or should it be the loader?		if (!visited.add(bundle))			return;		PackageSource local = getProvidedPackage(packageName);		if (local != null)			result.add(local.getSupplier());		if (requiredBundles == null) 			return;		int size = reexportTable == null ? 0 : reexportTable.length;		int reexportIndex = 0;		for (int i = 0; i < requiredBundles.length; i++) {			if (reexportIndex < size && reexportTable[reexportIndex] == i) {				reexportIndex++;				requiredBundles[i].getBundleLoader().addExportedProvidersFor(packageName, result, visited);			}		}	}