code: private CollectionDescriptorDef cloneCollection(CollectionDescriptorDef collDef, String prefix)
      {
          CollectionDescriptorDef copyCollDef = new CollectionDescriptorDef(collDef, prefix);
  
          copyCollDef.setOwner(this);
          // we remove properties that are only relevant to the class the features are declared in
          copyCollDef.setProperty(PropertyHelper.OJB_PROPERTY_IGNORE, null);
  
          Properties mod = getModification(copyCollDef.getName());
  
          if (mod != null)
          {
              if (!PropertyHelper.toBoolean(mod.getProperty(PropertyHelper.OJB_PROPERTY_IGNORE), false) &&
                  hasFeature(copyCollDef.getName()))
              {
                  LogHelper.warn(true,
                                 ClassDescriptorDef.class,
                                 "process",
                                 "Class "+getName()+" has a feature that has the same name as its included collection "+
                                 copyCollDef.getName()+" from class "+collDef.getOwner().getName()); 
              }
              copyCollDef.applyModifications(mod);
          }
          return copyCollDef;
      }
docs: Clones the given collection.
  
  @param collDef The collection descriptor
  @param prefix  A prefix for the name
  @return The cloned collection