} else if (constraint instanceof GenericSpecification) { Set genericSet = (Set) generics.get(constraint.getName()); if (genericSet != null) for (Iterator iter = genericSet.iterator(); iter.hasNext() && !satisfied;) satisfied |= constraint.isSatisfiedBy((GenericDescription) iter.next());
	private VersionConstraint[] getUnsatisfiedLeaves(State state, BundleDescription[] bundles) {		Map packages = getExportedPackageMap(state);		HashSet result = new HashSet(11);		for (int i = 0; i < bundles.length; i++) {			BundleDescription description = bundles[i];			VersionConstraint[] constraints = getUnsatisfiedConstraints(description);			for (int j = 0; j < constraints.length; j++) {				VersionConstraint constraint = constraints[j];				boolean satisfied = false;				if (constraint instanceof BundleSpecification || constraint instanceof HostSpecification) {					BundleDescription[] suppliers = state.getBundles(constraint.getName());					for (int k = 0; k < suppliers.length && !satisfied; k++) 						satisfied |= constraint.isSatisfiedBy(suppliers[k]);				} else if (constraint instanceof ImportPackageSpecification) {					Set exports = (Set) packages.get(constraint.getName());					if (exports != null) 						for (Iterator iter = exports.iterator(); iter.hasNext() && !satisfied;)							satisfied |= constraint.isSatisfiedBy((ExportPackageDescription) iter.next());				}				if (!satisfied)					result.add(constraint);			}		}		return (VersionConstraint[]) result.toArray(new VersionConstraint[result.size()]);	}