private ConfigurationModule deepCopy() {
   ConfigurationModule cm = new ConfigurationModule(builder.deepCopy());
   cm.setImpls.putAll(setImpls);
   cm.setImplSets.addAll(setImplSets);
   cm.setLateImplSets.addAll(setLateImplSets);
   cm.setParamSets.addAll(setParamSets);
   cm.setLateImpls.putAll(setLateImpls);
   cm.setParams.putAll(setParams);
   cm.reqSet.addAll(reqSet);
   cm.setImplLists.putAll(setImplLists);
   cm.setParamLists.putAll(setParamLists);
   return cm;
 }
 protected ConfigurationModule(ConfigurationModuleBuilder builder) {
   this.builder = builder.deepCopy();
 }