void resolveRefMappings(ProvisioningRuntimeBuilder rt) throws ProvisioningException {
if(!xmlSpec.hasFeatureRefs()) {
resolvedRefTargets = Collections.emptyMap();
return;
}
final FeaturePackRuntimeBuilder ownFp = rt.layout.getFeaturePack(id.producer);
Collection<FeatureReferenceSpec> refs = xmlSpec.getFeatureRefs();
if (refs.size() == 1) {
resolvedRefTargets = Collections.singletonMap(refs.iterator().next().getName(), resolveRefMapping(rt, ownFp, refs.iterator().next()));
return;
}
final Map<String, ResolvedFeatureSpec> tmp = new HashMap<>(refs.size());
for (FeatureReferenceSpec refSpec : refs) {
tmp.put(refSpec.getName(), resolveRefMapping(rt, ownFp, refSpec));
}
this.resolvedRefTargets = Collections.unmodifiableMap(tmp);
}