@Override
 @SuppressWarnings("unchecked")
 public ASTPostfixexpressionList clone() {
   ASTPostfixexpressionList ret = new ASTPostfixexpressionList();
   ret.setList((ArrayList<ASTPostfixexpression>) list.clone());
   return ret;
 }
 public ASTPostfixexpressionList deepClone() {
   ASTPostfixexpressionList result = new ASTPostfixexpressionList();
   if (list.size() != 0) {
     Iterator<ASTPostfixexpression> iter = iterator();
     while (iter.hasNext()) {
       result.add((ASTPostfixexpression) 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 boolean equalsWithComments(Object o) {
   ASTPostfixexpressionList comp;
   if ((o instanceof ASTPostfixexpressionList)) {
     comp = (ASTPostfixexpressionList) o;
   } else {
     return false;
   }
   if (this.size() == comp.size()) {
     java.util.Iterator<ASTPostfixexpression> one = this.iterator();
     java.util.Iterator<ASTPostfixexpression> two = comp.iterator();
     while (one.hasNext()) {
       if (!one.next().equalsWithComments(two.next())) {
         return false;
       }
     }
   } else {
     return false;
   }
   return true;
 }
 public boolean deepEqualsWithComments(Object o, boolean forceSameOrder) {
   ASTPostfixexpressionList comp;
   if ((o instanceof ASTPostfixexpressionList)) {
     comp = (ASTPostfixexpressionList) o;
   } else {
     return false;
   }
   if (this.size() == comp.size()) {
     if (forceSameOrder) {
       java.util.Iterator<ASTPostfixexpression> one = this.iterator();
       while (one.hasNext()) {
         ASTPostfixexpression oneNext = one.next();
         boolean matchFound = false;
         java.util.Iterator<ASTPostfixexpression> two = comp.iterator();
         while (two.hasNext()) {
           if (oneNext.deepEqualsWithComments(two.next(), forceSameOrder)) {
             matchFound = true;
             break;
           }
         }
         if (!matchFound) {
           return false;
         }
       }
     } else {
       java.util.Iterator<ASTPostfixexpression> one = this.iterator();
       java.util.Iterator<ASTPostfixexpression> two = comp.iterator();
       while (one.hasNext()) {
         if (!one.next().deepEqualsWithComments(two.next(), forceSameOrder)) {
           return false;
         }
       }
     }
   } else {
     return false;
   }
   return true;
 }
 public boolean equals(ASTPostfixexpressionList o) {
   return list.equals(o.getList());
 }
 public void add(ASTPostfixexpression o) {
   it.add(o);
   if (!t.is_Existent()) t.set_Existent(true);
 }