private static void merge(final Feature target, final Feature source, final BuilderContext context, final List<String> artifactOverrides, final String originKey) { BuilderUtil.mergeVariables(target.getVariables(), source.getVariables(), context); BuilderUtil.mergeBundles(target.getBundles(), source.getBundles(), source, artifactOverrides, originKey); BuilderUtil.mergeConfigurations(target.getConfigurations(), source.getConfigurations()); BuilderUtil.mergeFrameworkProperties(target.getFrameworkProperties(), source.getFrameworkProperties(), context); BuilderUtil.mergeRequirements(target.getRequirements(), source.getRequirements()); BuilderUtil.mergeCapabilities(target.getCapabilities(), source.getCapabilities()); BuilderUtil.mergeExtensions(target, source, context, artifactOverrides, originKey); }
result.getFrameworkProperties().clear(); result.getConfigurations().clear(); result.getRequirements().clear(); result.getCapabilities().clear(); result.setPrototype(null);
for(final Requirement r : this.getRequirements()) { final Requirement c = new RequirementImpl(null, r.getNamespace(), r.getDirectives(), r.getAttributes()); result.getRequirements().add(c);