private CompositeFactPattern visitCompositeFactPattern(CompositeFactPattern pattern) {
CompositeFactPattern clone = new CompositeFactPattern();
clone.type = pattern.type;
if ( pattern.getPatterns() != null ) {
for ( IFactPattern fp : pattern.getPatterns() ) {
clone.addFactPattern( (IFactPattern) visit( fp ) );
}
}
return clone;
}