void resolveFeatures(ResolutionMode mode) {
        boolean allowMultipleVersions = mode == ResolutionMode.IGNORE_CONFLICTS ? true : false;
        FeatureResolver resolver = new FeatureResolverImpl();
        Result result = resolver.resolveFeatures(resolverRepository, featureNamesToResolve, Collections.<String> emptySet(), allowMultipleVersions);
        for (String name : result.getResolvedFeatures()) {
            ProvisioningFeatureDefinition feature = resolverRepository.getFeature(name);
            resolvedFeatures.put(feature.getSymbolicName(), feature);
        }

        for (String missingFeature : result.getMissing()) {
            Collection<ApplicableToProduct> featureOtherProducts = resolverRepository.getNonApplicableResourcesForName(missingFeature);
            if (featureOtherProducts.isEmpty()) {
                featuresMissing.add(missingFeature);
            } else {
                requirementsFoundForOtherProducts.add(missingFeature);
                for (ApplicableToProduct feature : featureOtherProducts) {
                    resourcesWrongProduct.add(feature);
                }
            }
        }
    }
void resolveFeatures ( ResolutionMode mode ) { boolean allowMultipleVersions = mode == ResolutionMode . IGNORE_CONFLICTS ? true : false ; FeatureResolver resolver = new FeatureResolverImpl ( ) ; Result result = resolver . resolveFeatures ( resolverRepository , featureNamesToResolve , Collections . < String > emptySet ( ) , allowMultipleVersions ) ; for ( String name : result . getResolvedFeatures ( ) ) { ProvisioningFeatureDefinition feature = resolverRepository . getFeature ( name ) ; resolvedFeatures . put ( feature . getSymbolicName ( ) , feature ) ; } for ( String missingFeature : result . getMissing ( ) ) { Collection < ApplicableToProduct > featureOtherProducts = resolverRepository . getNonApplicableResourcesForName ( missingFeature ) ; if ( featureOtherProducts . isEmpty ( ) ) { featuresMissing . add ( missingFeature ) ; } else { requirementsFoundForOtherProducts . add ( missingFeature ) ; for ( ApplicableToProduct feature : featureOtherProducts ) { resourcesWrongProduct . add ( feature ) ; } } } }
Uses the kernel resolver to resolve {@link #featureNamesToResolve} and populates {@link #resolvedFeatures} with the result.