public AnnotationMemberDeclaration(
     int modifiers, Type type, String name, Expression defaultValue) {
   this.modifiers = modifiers;
   setType(type);
   this.name = name;
   setDefaultValue(defaultValue);
 }
 @Override
 public void merge(AnnotationMemberDeclaration remote, MergeEngine configuration) {
   super.merge(remote, configuration);
   setType((Type) configuration.apply(getType(), remote.getType(), Type.class));
   setDefaultValue(
       (Expression)
           configuration.apply(getDefaultValue(), remote.getDefaultValue(), Expression.class));
 }
 public AnnotationMemberDeclaration(
     JavadocComment javaDoc,
     int modifiers,
     List<AnnotationExpr> annotations,
     Type type,
     String name,
     Expression defaultValue) {
   setJavaDoc(javaDoc);
   this.modifiers = modifiers;
   setType(type);
   this.name = name;
   setDefaultValue(defaultValue);
 }
 public AnnotationMemberDeclaration(
     int beginLine,
     int beginColumn,
     int endLine,
     int endColumn,
     JavadocComment javaDoc,
     int modifiers,
     List<AnnotationExpr> annotations,
     Type type,
     String name,
     Expression defaultValue) {
   super(beginLine, beginColumn, endLine, endColumn, annotations, javaDoc);
   this.modifiers = modifiers;
   setType(type);
   this.name = name;
   setDefaultValue(defaultValue);
 }