Source:
<code>private VersionConstraint[] getUnsatisfiedConstraints(BundleDescription bundle, ResolverHook hook) { State containingState = bundle.getContainingState(); if (containingState == null) throw new IllegalStateException("Does not belong to a state"); List<VersionConstraint> unsatisfied = new ArrayList<>(); HostSpecification host = bundle.getHost(); if (host != null) if (!host.isResolved() && !isBundleConstraintResolvable(host, BundleRevision.HOST_NAMESPACE, hook)) unsatisfied.add(host); BundleSpecification[] requiredBundles = bundle.getRequiredBundles(); for (BundleSpecification requiredBundle : requiredBundles) { if (!requiredBundle.isResolved() && !isBundleConstraintResolvable(requiredBundle, null, hook)) { unsatisfied.add(requiredBundle); } } ImportPackageSpecification[] packages = bundle.getImportPackages(); for (ImportPackageSpecification <START> package1 : <END> packages) { if (!package1.isResolved() && !isResolvable(package1, hook)) { if (bundle.isResolved()) { if (!ImportPackageSpecification.RESOLUTION_OPTIONAL.equals(package1.getDirective(Constants.RESOLUTION_DIRECTIVE))) { continue; } } unsatisfied.add(package1); } } GenericSpecification[] generics = bundle.getGenericRequires(); for (GenericSpecification generic : generics) { if (!generic.isResolved() && !isResolvable(generic, hook)) { unsatisfied.add(generic); } } NativeCodeSpecification nativeCode = bundle.getNativeCodeSpecification(); if (nativeCode != null && !nativeCode.isResolved()) unsatisfied.add(nativeCode); return unsatisfied.toArray(new VersionConstraint[unsatisfied.size()]); }</code><technical_language>name importSpecification</technical_language>

Target:
private VersionConstraint[] getUnsatisfiedConstraints(BundleDescription bundle, ResolverHook hook) { State containingState = bundle.getContainingState(); if (containingState == null) throw new IllegalStateException("Does not belong to a state"); List<VersionConstraint> unsatisfied = new ArrayList<>(); HostSpecification host = bundle.getHost(); if (host != null) if (!host.isResolved() && !isBundleConstraintResolvable(host, BundleRevision.HOST_NAMESPACE, hook)) unsatisfied.add(host); BundleSpecification[] requiredBundles = bundle.getRequiredBundles(); for (BundleSpecification requiredBundle : requiredBundles) { if (!requiredBundle.isResolved() && !isBundleConstraintResolvable(requiredBundle, null, hook)) { unsatisfied.add(requiredBundle); } } ImportPackageSpecification[] packages = bundle.getImportPackages(); for (ImportPackageSpecification importSpecification : packages) { if (!importSpecification.isResolved() && !isResolvable(importSpecification, hook)) { if (bundle.isResolved()) { if (!ImportPackageSpecification.RESOLUTION_OPTIONAL.equals(importSpecification.getDirective(Constants.RESOLUTION_DIRECTIVE))) { continue; } } unsatisfied.add(importSpecification); } } GenericSpecification[] generics = bundle.getGenericRequires(); for (GenericSpecification generic : generics) { if (!generic.isResolved() && !isResolvable(generic, hook)) { unsatisfied.add(generic); } } NativeCodeSpecification nativeCode = bundle.getNativeCodeSpecification(); if (nativeCode != null && !nativeCode.isResolved()) unsatisfied.add(nativeCode); return unsatisfied.toArray(new VersionConstraint[unsatisfied.size()]); }