resolverGenerics = new VersionHashMap(this);
	private void initialize() {		resolverExports = new VersionHashMap(this);		resolverBundles = new VersionHashMap(this);		unresolvedBundles = new ArrayList();		bundleMapping = new HashMap();		BundleDescription[] bundles = state.getBundles();		groupingChecker = new GroupingChecker();		ArrayList fragmentBundles = new ArrayList();		// Add each bundle to the resolver's internal state		for (int i = 0; i < bundles.length; i++)			initResolverBundle(bundles[i], fragmentBundles, false);		// Add each removal pending bundle to the resolver's internal state		Object[] removedBundles = removalPending.getAllValues();		for (int i = 0; i < removedBundles.length; i++)			initResolverBundle((BundleDescription) removedBundles[i], fragmentBundles, true);		// Iterate over the resolved fragments and attach them to their hosts		for (Iterator iter = fragmentBundles.iterator(); iter.hasNext();) {			ResolverBundle fragment = (ResolverBundle) iter.next();			BundleDescription[] hosts = ((HostSpecification) fragment.getHost().getVersionConstraint()).getHosts();			for (int i = 0; i < hosts.length; i++) {				ResolverBundle host = (ResolverBundle) bundleMapping.get(hosts[i]);				if (host != null)					// Do not add fragment exports here because they would have been added by the host above.					host.attachFragment(fragment, false);			}		}		rewireBundles(); // Reconstruct wirings		ResolverBundle[] initBundles = (ResolverBundle[]) bundleMapping.values().toArray(new ResolverBundle[bundleMapping.size()]);		for (int i = 0; i < initBundles.length; i++)			// only initialize grouping constraint for resolved bundles; 			// we add the constraints for unresolved bundles before we start a resolve opertation			if (initBundles[i].isResolved())				groupingChecker.addInitialGroupingConstraints(initBundles[i]);		setDebugOptions();		initialized = true;	}