protected AnnotationArgument(AnnotationArgumentKind annotationArgumentKind) {
			this.AnnotationArgumentKind = annotationArgumentKind;
		}
     : super(AnnotationArgumentKind.Annotation) {
     this.type = type;
     this.runtimeVisible = runtimeVisible;
     this.arguments = new HashMap<String, AnnotationArgument>();
 }
     : super(AnnotationArgumentKind.Enum) {
     this.type = type;
     this.name = name;
 }
     : super(AnnotationArgumentKind.Type) {
     this.type = type;
 }
     : super(AnnotationArgumentKind.Array) {
     this.elements = new ArrayList<AnnotationArgument>();
 }
 SimpleAnnotationArgument(AnnotationArgumentKind annotationArgumentKind, Object value)
     : super(annotationArgumentKind) {
     : super(AnnotationArgumentKind.Array) {
     elements = new ArrayList<RawAnnotationArgument>();
 }
 protected RawAnnotationArgument(AnnotationArgumentKind RawAnnotationArgumentKind) {
     this.AnnotationArgumentKind = RawAnnotationArgumentKind;
 }
 protected AnnotationArgument(AnnotationArgumentKind annotationArgumentKind)
 {
     this.AnnotationArgumentKind = annotationArgumentKind;
 }