public void setMethodDecl(List<PMethodDecl> list) {
    this._methodDecl_.clear();
    this._methodDecl_.addAll(list);
    for (PMethodDecl e : list) {
      if (e.parent() != null) {
        e.parent().removeChild(e);
      }

      e.parent(this);
    }
  }
 @Override
 public void caseAClassDef(AClassDef node) {
   inAClassDef(node);
   if (node.getEndid() != null) {
     node.getEndid().apply(this);
   }
   if (node.getEnd() != null) {
     node.getEnd().apply(this);
   }
   {
     List<PMethodDecl> copy = new ArrayList<PMethodDecl>(node.getMethodDecl());
     Collections.reverse(copy);
     for (PMethodDecl e : copy) {
       e.apply(this);
     }
   }
   {
     List<PVarDecl> copy = new ArrayList<PVarDecl>(node.getVarDecl());
     Collections.reverse(copy);
     for (PVarDecl e : copy) {
       e.apply(this);
     }
   }
   if (node.getNewlines() != null) {
     node.getNewlines().apply(this);
   }
   if (node.getIs() != null) {
     node.getIs().apply(this);
   }
   if (node.getInheritsFrom() != null) {
     node.getInheritsFrom().apply(this);
   }
   if (node.getStid() != null) {
     node.getStid().apply(this);
   }
   if (node.getClassKw() != null) {
     node.getClassKw().apply(this);
   }
   outAClassDef(node);
 }