RuleModelCloneVisitor visitor = new RuleModelCloneVisitor();
RuleModel rm = new RuleModel();
for ( IPattern pattern : definition ) {
rm.addLhsItem( pattern );
}
RuleModel rmClone = visitor.visitRuleModel( rm );
List<IPattern> clone = new ArrayList<IPattern>();
for ( IPattern pattern : rmClone.lhs ) {
clone.add( pattern );
}
return clone;