for(Rule rl : rules){
rulesCopy.add( (Rule) ((Cloneable) rl).clone() );
}
clone.rules().clear();
((List<Rule>)clone.rules()).addAll(rulesCopy);
clone.featureTypeNames().clear();
clone.featureTypeNames().addAll(featureTypeNames);
clone.semanticTypeIdentifiers().clear();
clone.semanticTypeIdentifiers().addAll(semantics);