resolverGenerics.remove(re.getGenericCapabilities());
	private void unresolveBundle(ResolverBundle bundle, boolean removed) {		if (bundle == null)			return;		// check the removed list if unresolving then remove from the removed list		Object[] removedBundles = removalPending.remove(new Long(bundle.getBundle().getBundleId()));		for (int i = 0; i < removedBundles.length; i++) {			ResolverBundle re = (ResolverBundle) bundleMapping.get(removedBundles[i]);			unresolveBundle(re, true);			state.removeBundleComplete((BundleDescription) removedBundles[i]);			resolverExports.remove(re.getExportPackages());			resolverBundles.remove(re);			bundleMapping.remove(removedBundles[i]);			groupingChecker.removeAllExportConstraints(re);			// the bundle is removed			if (removedBundles[i] == bundle.getBundle())				removed = true;		}		if (!bundle.getBundle().isResolved())			return;		// if not removed then add to the list of unresolvedBundles		setBundleUnresolved(bundle, removed);		// Get bundles dependent on 'bundle' and selected exports of 'bundle'		BundleDescription[] dependents = bundle.getBundle().getDependents();		state.resolveBundle(bundle.getBundle(), false, null, null, null, null);		// Unresolve dependents of 'bundle'		for (int i = 0; i < dependents.length; i++)			unresolveBundle((ResolverBundle) bundleMapping.get(dependents[i]), false);	}