Low priority suggestion: The following in JCNewArray is mildly icky. public List<JCExpression> dims; // type annotations on dimensions public List<List<JCAnnotation>> dimAnnotations; Would it make sense to introduce JCAnnotatedExpression so that that reduces to public List<JCAnnotatedExpression> dims; -- Jon