}
if(pkgs.size() > 0) {
sb.append("<b>Exported packages</b>");
List exportDescr = new ArrayList();
for (Iterator it = pkgs.iterator(); it.hasNext(); ) {
ExportedPackage pkg = (ExportedPackage)it.next();
StringBuffer sb1 = new StringBuffer();
sb1.append(formatPackage(pkg, false));
if (!pkg.isRemovalPending() && !pm.isWired(pkg.getName(), b)) {
// An exporting bundle that imports a package from itself
// will not have a wire for that package and thus not be
// present amongs the bundles returned by
// pkg.getImportingBundles(). There is one exception to
// this: When removal pending is set in an pkg, that pkg
// is from an older generation of the bundle and there
// must be a wire from the bundle to the old pkg and thus
// the bundle will be present in the list returned by
// pkg.getImportingBundles().
sb1.append("<br>");
sb1.append(" ");
Util.bundleLink(sb1, b);
}
Bundle[] bl = pkg.getImportingBundles();
for(int j = 0; bl != null && j < bl.length; j++) {
sb1.append("<br>");
sb1.append(" ");
Util.bundleLink(sb1, bl[j]);
}