@Override
 public void caseANewarrayPrimary(ANewarrayPrimary node) {
   inANewarrayPrimary(node);
   if (node.getNew() != null) {
     node.getNew().apply(this);
   }
   if (node.getId() != null) {
     node.getId().apply(this);
   }
   if (node.getLbrack() != null) {
     node.getLbrack().apply(this);
   }
   if (node.getExpr() != null) {
     node.getExpr().apply(this);
   }
   if (node.getRbrack() != null) {
     node.getRbrack().apply(this);
   }
   {
     List<PEmptydim> copy = new ArrayList<PEmptydim>(node.getEmptydim());
     for (PEmptydim e : copy) {
       e.apply(this);
     }
   }
   outANewarrayPrimary(node);
 }
 @Override
 public void caseAType(AType node) {
   inAType(node);
   if (node.getId() != null) {
     node.getId().apply(this);
   }
   {
     List<PEmptydim> copy = new ArrayList<PEmptydim>(node.getEmptydim());
     for (PEmptydim e : copy) {
       e.apply(this);
     }
   }
   outAType(node);
 }