docs: @Override
  	public void visit(FeatureTypeStyle fts) {
  
  		FeatureTypeStyle copy = new FeatureTypeStyleImpl(
  				(FeatureTypeStyleImpl) fts);
  		Rule[] rules = fts.getRules();
  		int length = rules.length;
  		Rule[] rulesCopy = new Rule[length];
  		for (int i = 0; i < length; i++) {
  			if (rules[i] != null) {
  				rules[i].accept(this);
  				rulesCopy[i] = (Rule) pages.pop();
  			}
  		}
  		copy.setRules(rulesCopy);
  		if (fts.getTransformation() != null) {
  			copy.setTransformation(copy(fts.getTransformation()));
  		}
  		if (STRICT && !copy.equals(fts)) {
  			throw new IllegalStateException(
  					"Was unable to duplicate provided FeatureTypeStyle:" + fts);
  		}
  		pages.push(copy);
  	}