* Creates a deep copy clone of the FeatureTypeStyle.
*
* @see org.geotools.styling.FeatureTypeStyle#clone()
*/
public Object clone() {
FeatureTypeStyle clone;
try {
clone = (FeatureTypeStyle) super.clone();
} catch (CloneNotSupportedException e) {
throw new AssertionError(e); // this should never happen.
}
final List<Rule> rulesCopy = new ArrayList<Rule>();
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);
return clone;
}