public ASTEnhancedForStatementNoShortIfList deepClone() {
   ASTEnhancedForStatementNoShortIfList result = new ASTEnhancedForStatementNoShortIfList();
   if (list.size() != 0) {
     Iterator<ASTEnhancedForStatementNoShortIf> iter = iterator();
     while (iter.hasNext()) {
       result.add((ASTEnhancedForStatementNoShortIf) iter.next().deepClone());
     }
   }
   for (de.monticore.ast.Comment x : get_PreComments()) {
     result.get_PreComments().add(new de.monticore.ast.Comment(x.getText()));
   }
   for (de.monticore.ast.Comment x : get_PostComments()) {
     result.get_PostComments().add(new de.monticore.ast.Comment(x.getText()));
   }
   return result;
 }
 public ASTUnannClassTypeList deepClone() {
   ASTUnannClassTypeList result = new ASTUnannClassTypeList();
   if (list.size() != 0) {
     Iterator<ASTUnannClassType> iter = iterator();
     while (iter.hasNext()) {
       result.add((ASTUnannClassType) iter.next().deepClone());
     }
   }
   for (de.monticore.ast.Comment x : get_PreComments()) {
     result.get_PreComments().add(new de.monticore.ast.Comment(x.getText()));
   }
   for (de.monticore.ast.Comment x : get_PostComments()) {
     result.get_PostComments().add(new de.monticore.ast.Comment(x.getText()));
   }
   return result;
 }
 public ASTNoptrabstractpackdeclaratorList deepClone() {
   ASTNoptrabstractpackdeclaratorList result = new ASTNoptrabstractpackdeclaratorList();
   if (list.size() != 0) {
     Iterator<ASTNoptrabstractpackdeclarator> iter = iterator();
     while (iter.hasNext()) {
       result.add((ASTNoptrabstractpackdeclarator) iter.next().deepClone());
     }
   }
   for (de.monticore.ast.Comment x : get_PreComments()) {
     result.get_PreComments().add(new de.monticore.ast.Comment(x.getText()));
   }
   for (de.monticore.ast.Comment x : get_PostComments()) {
     result.get_PostComments().add(new de.monticore.ast.Comment(x.getText()));
   }
   return result;
 }