if (bundle.getBundle().isSingleton()) { BundleDescription bundleDesc = bundle.getBundle(); VersionSupplier[] sameName = resolverBundles.getArray(bundleDesc.getName()); if (sameName.length > 1) { for (int j = 0; j < sameName.length; j++) { BundleDescription sameNameDesc = sameName[j].getBundle(); if (sameName[j] == bundle || !sameNameDesc.isSingleton() || rejectedSingletons.contains(sameNameDesc)) continue; if (sameNameDesc.isResolved() || sameNameDesc.getVersion().compareTo(bundle.getBundle().getVersion()) > 0) { rejectedSingletons.add(bundle.getBundle()); return; } rejectedSingletons.add(sameNameDesc); } } }
	private void attachFragment(ResolverBundle bundle) {		if (!bundle.isFragment() || !bundle.isResolvable())			return;		BundleConstraint hostConstraint = bundle.getHost();		VersionSupplier[] hosts = resolverBundles.getArray(hostConstraint.getVersionConstraint().getName());		for (int i = 0; i < hosts.length; i++) {			if (((ResolverBundle) hosts[i]).isResolvable() && hostConstraint.isSatisfiedBy((ResolverBundle) hosts[i]))				resolverExports.put(((ResolverBundle) hosts[i]).attachFragment(bundle, true));		}	}