if (containingState == null)  throw new IllegalStateException("Does not belong to a state"); ArrayList unsatisfied = new ArrayList(); if (host != null && !host.isResolved() && !isResolvable(host)) unsatisfied.add(host); if (requiredBundles != null) for (int i = 0; i < requiredBundles.length; i++) if (!requiredBundles[i].isResolved() && !isResolvable(requiredBundles[i])) unsatisfied.add(requiredBundles[i]); if (packages != null) for (int i = 0; i < packages.length; i++) if (!packages[i].isResolved() && !isResolvable(packages[i])) unsatisfied.add(packages[i]); return (VersionConstraint[]) unsatisfied.toArray(new VersionConstraint[unsatisfied.size()]);
return StateHelper.getUnsatisfiedConstraints(this);
	public VersionConstraint[] getUnsatisfiedConstraints() {		if (containingState == null)			// it is a bug in the client to call this method when not attached to a state			throw new IllegalStateException("Does not belong to a state"); //$NON-NLS-1$				ArrayList unsatisfied = new ArrayList(); 		if (host != null && !host.isResolved() && !isResolvable(host))			unsatisfied.add(host);				if (requiredBundles != null)			for (int i = 0; i < requiredBundles.length; i++)				if (!requiredBundles[i].isResolved() && !isResolvable(requiredBundles[i]))					unsatisfied.add(requiredBundles[i]);		if (packages != null)			for (int i = 0; i < packages.length; i++)				if (!packages[i].isResolved() && !isResolvable(packages[i]))					unsatisfied.add(packages[i]);					return (VersionConstraint[]) unsatisfied.toArray(new VersionConstraint[unsatisfied.size()]);	}